如何使用itextsharp删除pdf文档的默认上边距?

时间:2010-10-11 05:39:47

标签: itextsharp margin

我试图让我的pdf文档从(0,0)开始,但是看起来文档对象有一个默认的上边距,我不能设置为0。 有没有办法做到这一点?

我的代码如下所示

        using (MemoryStream memoria = new MemoryStream())
        {
            Document pdf = new Document(new Rectangle(288, 144));

            try
            {
                PdfWriter writer = PdfWriter.GetInstance(pdf, memoria);

                pdf.Open();
                pdf.SetMargins(0, 0, 0, 0);

                PdfPTable tPrincipal = new PdfPTable(2);            
                tPrincipal .WidthPercentage = 100;           
                tPrincipal .DefaultCell.Border = 0;
                tPrincipal .TotalWidth = 288f;
                tPrincipal .LockedWidth = true;

...

我无法将上边距设置为0.它只是不关心我的设置为(0,0,0,0)并留下上边距(约50f)。

3 个答案:

答案 0 :(得分:14)

您需要在Document构造函数中设置边距,如下所示:

Document pdf = new Document(new Rectangle(288f, 144f), 0, 0, 0, 0); 

您无需使用Document.SetMargins()方法。我相信您在通过调用SetMargins()创建新页面后使用Document.NewPage()

答案 1 :(得分:1)

选项1:

Document doc = new Document();
doc.setMargins(0 , 0 , 0 , 0);

选项2:

Document pdf = new Document(new Rectangle(595 , 842 ), 0, 0, 0, 0); 

其中,595x842是A4尺寸纸张。

答案 2 :(得分:0)

我喜欢下面的“…/XYZ.pdf”是生成的pdf文件下载路径的路径。

if(@($InstallerExitCodes -match "^(0|3010)$").Count -ge 1){
  # success!
}