2009-10-11 3 views
8

Я пытаюсь встроить 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() 
+1

Если все, что вы делаете, заменяет FileStream на MemoryStream, то оно должно быть функционально идентичным. Вам все равно придется поместить этот поток памяти где-нибудь, где вы можете посмотреть его (например, файл), чтобы увидеть JS и его эффекты. Как вы открываете memoryStream? –

+0

@rowmark, какой аргумент вы передали для 'New Paragraph (pdfString)'. –

ответ

Смежные вопросы