dip*_*ipa 4 pdf-generation itextsharp
嗨,我正在使用itextsharp创建PDF.现在我的要求是在现有的pdf中添加更多文本.是否有可能,那么我该怎么做呢?
谢谢Dipa
是的,有一些限制.
确定现有页面上已有的内容很困难,但并非不可能.
如果您只想在所有页面的左下角添加"Y页面X",那就很容易了.
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();
Run Code Online (Sandbox Code Playgroud)
一个大水印并不困难.在一个或多个预定位置向PDF添加内容是非常可行的.
在频谱的另一端是"改变现有段落中的文本并将其重排".这几乎是不可能的.使用新数据重建原始PDF会容易得多.
事实上,如果可能的话,只需重建它们.你做了一次,再做一次.
| 归档时间: |
|
| 查看次数: |
6751 次 |
| 最近记录: |