2009-10-11 17 views
8

Estoy tratando de incrustar JavaScript en pdf que se crea usando iTextSharp y está funcionando absolutamente bien si se trata de un archivo como se muestra en el código.Problema al agregar javascript a PDF usando iTextSharp

Pero cuando trato de incrustar la parte de JavaScript en una secuencia de memoria, no está funcionando. ¿Hay alguna limitación de 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

Si todo lo que hace es reemplazar el FileStream con un MemoryStream, entonces debería ser funcionalmente idéntico. Aún debe colocar esa secuencia de memoria en algún lugar donde pueda verla (como un archivo) para ver el JS y sus efectos. ¿Cómo estás abriendo MemoryStream? –

+0

@rowmark, ¿cuál es el argumento que ha pasado para 'Nuevo párrafo (pdfString)'. –

Respuesta

Cuestiones relacionadas