【发布时间】:2017-07-12 10:21:16
【问题描述】:
我有用于打印标签的 iTextsharp 代码。现在的问题是,我需要在Continuous paper 中打印标签,而我无法在 iTextsharp 配置 (iTextSharp.text.PageSize.A4) 中选择这些标签。请建议我如何根据我当前的情况选择页面大小。
谢谢
【问题讨论】:
我有用于打印标签的 iTextsharp 代码。现在的问题是,我需要在Continuous paper 中打印标签,而我无法在 iTextsharp 配置 (iTextSharp.text.PageSize.A4) 中选择这些标签。请建议我如何根据我当前的情况选择页面大小。
谢谢
【问题讨论】:
您的问题与 PDF 作为文档格式有关。在 PDF 中,内容分布在不同的页面上。您可以自己定义此类页面的大小。您提到了iTextSharp.text.PageSize.A4,但您可以自己将页面大小定义为Rectangle 对象。见iTextsharp landscape document
如果你想要一个又长又窄的页面,你可以这样定义页面大小:
Document Doc = new Document(new Rectangle(595f, 14400f));
虽然有一些实施限制。页面的最大高度或宽度为 14,400 个用户单位。见博文Help, I only see blank pages in my PDF!
但是,我很确定您不想创建一个又长又窄的页面。如果您想在“连续纸”上打印标签,您需要创建一个 PDF 文档,其中每一页的大小正好是一个标签。您的 PDF 将包含与标签一样多的页面。
假设一个标签的尺寸是 5 x 2 英寸(宽:12.7cm;高:5.08cm),那么你应该创建一个这样的文档:
Document Doc = new Document(new Rectangle(360, 144));
并且您应该确保标签的所有内容都适合单个页面。您的标签打印机应该知道 PDF 中的每一页都应该打印在单独的标签上。
(感谢 @amedeeVanGasse 纠正我最初的回答。)
【讨论】: