我有一个嵌入了PDF表单字段的模板PDF文件。我正在使用PdfStamper来填写这些字段。另外,我希望能够更改生成的PDF的边距。有什么办法可以修改加盖PDF的页边距吗?
答案 0 :(得分:21)
您可以在一行中完成所有操作。
Document doc = new Document(PageSize.LETTER, 0f, 0f, 0f, 0f );
答案 1 :(得分:14)
我所知道的只有这样。
iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(pageWidth, pageHeight);
Document doc = new Document(rec);
doc.SetMargins(0f, 0f, 0f, 0f);
但是,这也会限制保证金
答案 2 :(得分:-2)
setMaring已实施为
public override bool SetMargins(float marginLeft, float marginRight, float marginTop, float marginBottom)
{
if ((this.writer != null) && this.writer.IsPaused())
{
return false;
}
this.nextMarginLeft = marginLeft;
this.nextMarginRight = marginRight;
this.nextMarginTop = marginTop;
this.nextMarginBottom = marginBottom;
return true;
}
因此保证金适用于下一页。 解决这个问题后打开pdfDocument调用newPage() 这个解决方案适用于空pdfDocument。
using (FileStream msReport = new FileStream(pdfPath, FileMode.Create))
{
using (Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 10f))
{
try
{
//open the stream
pdfDoc.Open();
pdfDoc.setMargin(20f, 20f, 20f, 20f);
pdfDoc.NewPage();
pdfDoc.Close();
}
catch (Exception ex)
{
//handle exception
}
finally
{
}
}
}