我正在尝试将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()
答案 0 :(得分:1)
您的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
的示例