打印PDF文件

打印PDF文件,pdf,printing,Pdf,Printing,我有一个pdf文件(通过扫描生成),希望设置一种机制,在打印之前,我会提示输入一个字段(控制编号),并且该字段会打印在文档的每一页中。我该怎么做?您可以使用iTextSharp将文本添加到PDF中,也可以使用GhostScript将PDF发送到打印机。一个很好的选择是-我们将其用于各种任务,从在图形上呈现表单、在PDF文档上嵌入条形码等。这是一种享受,我强烈推荐。IIRC,有一个文档级的预打印事件,您可以使用javaScript钩住它 1) 在PDF的每一页上放置一个名称完全相同的字段 PdfR

我有一个pdf文件(通过扫描生成),希望设置一种机制,在打印之前,我会提示输入一个字段(控制编号),并且该字段会打印在文档的每一页中。我该怎么做?

您可以使用iTextSharp将文本添加到PDF中,也可以使用GhostScript将PDF发送到打印机。

一个很好的选择是-我们将其用于各种任务,从在图形上呈现表单、在PDF文档上嵌入条形码等。这是一种享受,我强烈推荐。

IIRC,有一个文档级的预打印事件,您可以使用javaScript钩住它

1) 在PDF的每一页上放置一个名称完全相同的字段

PdfReader reader = new PdfReader( "somePath.pdf" );
PdfStamper stamper = new PdfStamper( reader, outStream );
PdfWriter writer = stamper.getWriter();

for (int curPage = 1; curPage <= reader.getNumberOfPages(); ++curPage) {
  TextField fld = new TextField ( writer, someRect, "thatFieldName" );
  // might want to modify the field appearance here.

  stamper.addAnnotation( fld.getTextField(), curPage );
}
没什么大不了的。在iText中以编程方式实现这一点(我个人的最爱,没有任何偏见;)


你能告诉我什么是IIRC吗?
var response = app.response( questionText/*, dialogTitle, defaultVal, bPassword, entryLabel*/ );
this.getField( "thatFieldName" ).value = response;
PdfReader reader = new PdfReader( "myFile.pdf" );
PdfStamper stamper = new PdfStamper( myReader, outStream );
PdfWriter stamperWriter = stamper.getWriter();

stamperWriter.setAdditionalAction( PdfName.WP, PdfAction.javaScript( scriptString, stamperWriter ) );
stamper.close();