如何使我的PDF正好适合4x6英寸?目前是普通的A4文件打印
本文关键字:目前 打印 文件 A4 英寸 PDF 我的 何使 4x6 | 更新日期: 2023-09-27 17:49:58
我正在使用iTextSharp创建运输标签。
我正在做的是创建一个PDF格式的标签,这样我就可以以任何我想要的方式格式化它,然后将它发送到我的热敏打印机。
我的问题是,我的标签尺寸是4x6(标准运输标签)。这些是我们在UPS上看到的标签。联邦快递包。我怎样才能使我的PDF正好适合4x6英寸?目前打印的是普通的A4文件。
我使用如下:
Dim document As New Document()
document.SetPageSize(PageSize.A4_LANDSCAPE)
设置自定义页面大小:
Dim pgSize As New iTextSharp.text.Rectangle(myWidth, myHeight)
Dim doc As New iTextSharp.text.Document(pgSize, leftMargin, rightMargin, topMargin, bottomMargin)
iTextSharp使用72像素每英寸,所以如果你知道你想要的页面大小的高度和宽度英寸,只需乘以这些数字72得到myWidth和myHeight
https://stackoverflow.com/a/2503476/102937我建议生成原始打印机语言。热敏条形码打印机都有自己的母语。语言,如ZPLII(斑马打印机语言2)或DPL(数据打印机语言)。您可以将它们构建为字符串并将它们直接传递给打印机。搜索打印机制造商的网站,您可以快速找到您正在使用的打印机的打印机语言手册。
这种方法的最大优点是控制和速度。由于zebra和Datamax打印机实际上并不关心页面大小,因此您可以专注于以您想要的大小和方向呈现您想要的数据。
您还可以利用打印机具有的一些额外逻辑。这对于具有顺序编号的序列化标记特别有用。发送到打印机的单个字符串可以产生数十到数百个标签。如果你要做很多热敏条形码打印,我强烈建议你了解这些打印机在其本地语言中包含的功能。
设置文档大小:-
Document doc = new Document(new iTextSharp.text.Rectangle(295f, 420f), 0f, 0f, 0f, 0f);
PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();
-----------
-----
---------
对于字体这里是代码:-
iTextSharp.text.Font myFont1 = new iTextSharp.text.Font() { Size = 4.5f };
PdfPTable header1 = new PdfPTable(2);
header1.AddCell(new PdfPCell(new Phrase("", myFont1 )) { UseAscender = true, PaddingTop = 0, Border = 0, HorizontalAlignment = 0 });
我刚刚添加了其他属性供您将来参考。
编码快乐! !