我正在尝试将 JavaScript 嵌入到使用 iTextSharp 创建的 pdf 中,如果它是一个如代码所示的文件,它绝对可以正常工作。
但是当我尝试将 javascript 部分嵌入到内存流中时,它不起作用。 iTextSharp 有什么限制吗??
Dim js As New StringBuilder
Dim pdf As String = "c:\Print2Printer.pdf"
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(pdf, FileMode.Create))
doc.Open()
js.Append("var pp = this.getPrintParams();")
js.Append("var iCopies = 2;")
js.Append("pp.interactive = pp.constants.interactionLevel.silent;")
js.Append("for ( var i = 0; i < 3; i++ ) { pp.firstPage = i; pp.lastPage = i;")
js.Append("this.print(pp);")
js.Append("}")
Dim jaction As PdfAction = PdfAction.JavaScript(js.ToString(), writer)
writer.AddJavaScript(jaction)
doc.Add(New Paragraph(pdfString))
doc.Close()
最佳答案
您的 PDF 尚未呈现...我不确定 PDF 是否具有 onreadystate 事件但请参阅... http://mattheyan.blogspot.com/2010/06/add-javascript-to-pdf-document-with.html
简而言之,你需要一个 setTimeout
这是一个使用 Docotic.Pdf 的例子 http://www.codeproject.com/Articles/380293/Javascript-in-PDF
关于javascript - 使用 iTextSharp 将 javascript 添加到 PDF 中时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1549672/