Я пытаюсь встроить JavaScript в pdf, который создается с помощью iTextSharp, и работает абсолютно нормально, если это файл, как показано в коде.Проблема с добавлением javascript в PDF с использованием iTextSharp
Но когда я пытаюсь вставить часть 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()
Если все, что вы делаете, заменяет FileStream на MemoryStream, то оно должно быть функционально идентичным. Вам все равно придется поместить этот поток памяти где-нибудь, где вы можете посмотреть его (например, файл), чтобы увидеть JS и его эффекты. Как вы открываете memoryStream? –
@rowmark, какой аргумент вы передали для 'New Paragraph (pdfString)'. –