【问题标题】:Adding text to existing pdf which is closed using itextsharp将文本添加到使用 itextsharp 关闭的现有 pdf
【发布时间】:2010-12-22 10:15:51
【问题描述】:

嗨 我正在使用 itextsharp 创建 PDF。现在我的要求是在现有的 pdf 中添加更多文本。如果可以的话,我该怎么做?

谢谢迪帕

【问题讨论】:

    标签: pdf-generation itextsharp


    【解决方案1】:

    是的,但有一定的限制。

    确定现有页面上已有的内容很困难,但并非不可能。

    如果您只想在所有页面的左下角添加“第 X 页,共 Y 页”,那就简单

    PdfReader reader = new PdfReader( inPath );
    PdfStamper stamper = new PdfStamper( reader, new FileOutputStream( outPath ) );
    BaseFont font = BaseFont.createFont(); // Helvetica, WinAnsiEncoding
    for (int i = 0; i < reader.getNumberOfPages(); ++i) {
      PdfContentByte overContent = stamper.getOverContent( i + 1 );
      overContent.saveState();
      overContent.beginText();
      overContent.setFontAndSize( font, 10.0f );
      overContent.setTextMatrix( xLoc, yLoc );
      overContent.showText( "Page " + (i + 1) + " of " + reader.getNumberOfPages() );
      overContent.endText();
      overContent.restoreState();
    }
    stamper.close();
    

    大水印并不难。在一个或多个预定位置向 PDF 添加内容是完全可行的。

    另一方面是“更改现有段落中的文本并重排它们”。这几乎是不可能的。使用新数据重建原始 PDF 会容易得多。

    事实上,如果可能的话,只是重建它们。你做了一次,再做一次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 2013-02-10
      • 1970-01-01
      • 2014-07-06
      • 1970-01-01
      • 2015-05-07
      相关资源
      最近更新 更多