【发布时间】:2021-04-09 16:45:01
【问题描述】:
我正在使用 iText7 (C#) 创建一个简单的 PDF,但我需要以正确的尺寸打印它。这是我的代码:
PdfWriter writer = new PdfWriter("output.pdf");
PdfDocument pdf = new PdfDocument(writer);
pdf.SetDefaultPageSize(iText.Kernel.Geom.PageSize.LETTER);
var page = pdf.AddNewPage();
page.SetCropBox(new iText.Kernel.Geom.Rectangle(36, 36, 7.5f * 72, 10 * 72));
PdfCanvas canvas = new PdfCanvas(page);
canvas.SetStrokeColor(ColorConstants.BLACK).SetLineWidth(3);
canvas.MoveTo(36, 36);
canvas.LineTo(36, 36 + 72); // Draw a line 1 inch long
canvas.LineTo(36 + 72, 36 + 72); // Draw a second line, perpendicular to the first, also 1 inch long
canvas.ClosePathStroke();
pdf.Close();
如果我右键单击生成的 PDF 并选择“打印”,我的三角形就会离开页面底部。
当我在我正在使用的 PDF 程序 (PDF Architect) 中打开生成的 PDF 时,它给了我几个选项:
如果我只是单击“打印”,它会给出 1 1/16" 长的行,从页面边缘开始大约 1/8",因此默认情况下 PDF Architect 似乎正在获取我的内容裁剪框并将其扩展到最大页面可用性。
如果我在单击“打印”之前单击“适合”,则会产生所需的输出 - 行长 1 英寸,从页面的每一侧开始 1/2 英寸。这可行,但容易出错 - 太容易忘记每次都点击“适合”。
有没有办法生成一个 PDF,其中包含“我以字母大小定位此文档,但我在距离所有边缘 1/2”这样的信息,所以当您打印时,如果打印机边距
【问题讨论】:
标签: pdf printing itext7 layoutmargins