Próbuję osadzić JavaScript w pliku PDF, który jest tworzony za pomocą iTextSharp i działa absolutnie dobrze, jeśli jest to plik pokazany w kodzie.Problem z dodaniem javascript do pliku PDF za pomocą iTextSharp
Ale kiedy próbuję osadzić część javascript w strumieniu pamięci, to nie działa. Czy są jakieś ograniczenia 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()
Jeśli wszystko, co robisz, zastępuje FileStream strumieniem MemoryStream, to powinno być funkcjonalnie identyczne. Nadal musisz umieścić strumień pamięci gdzieś na niego (jak plik), aby zobaczyć JS i jego efekty. Jak otwierasz MemoryStream? –
@track, jaki jest argument, który przekazałeś dla 'New Paragraph (pdfString)'. –