【发布时间】:2010-12-05 16:48:55
【问题描述】:
我正在尝试将 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()
【问题讨论】:
-
如果您所做的只是用 MemoryStream 替换 FileStream,那么它应该在功能上是相同的。您仍然必须将该内存流放在可以查看它的位置(如文件),以便查看 JS 及其效果。你是如何打开 memoryStream 的?
-
@rowmark,你为
New Paragraph(pdfString)传递的参数是什么。
标签: javascript itextsharp