是否可以使用.net編輯pdf文檔的JavaScript?用.net編輯PDF格式的javascript
我看過Acrobat SDK,但沒有多少運氣。它看起來像你可以從窗體等檢索值,但不能編輯文檔。
我是否偏離軌道?這甚至有可能嗎?
我試過iTextSharp,但由於pdf包含表單域,所以當我保存pdf時,這些域會丟失。
有什麼建議嗎?
是否可以使用.net編輯pdf文檔的JavaScript?用.net編輯PDF格式的javascript
我看過Acrobat SDK,但沒有多少運氣。它看起來像你可以從窗體等檢索值,但不能編輯文檔。
我是否偏離軌道?這甚至有可能嗎?
我試過iTextSharp,但由於pdf包含表單域,所以當我保存pdf時,這些域會丟失。
有什麼建議嗎?
好吧,顯然你可以用iTextSharp:
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
PdfReader reader = new PdfReader(@"Source.pdf");
FileStream output = new FileStream(@"Destination.pdf", FileMode.Create);
PdfStamper pdfStamper = new PdfStamper(reader, output, '\0', true);
pdfStamper.JavaScript = "app.alert(\"Hello world!\");";
pdfStamper.FormFlattening = false;
pdfStamper.Close();
reader.Close();
(This question幫助)
當然,PDF文檔的JavaScript可以編輯。
我不知道如何在其他庫中完成它,但使用Docotic.Pdf(我爲Bit Miracle工作)可以爲控件,頁面和文檔整體添加/刪除/編輯javascript動作。
以下是設置和更改javascript動作的示例。該代碼假定文檔包含一個按鈕。
PdfDocument doc = new PdfDocument("document-with-button.pdf");
// assume that first widget is a button
PdfButton button = doc.Widgets[0] as PdfButton;
// add javascript action for OnMouseEnter event
PdfJavaScriptAction action = doc.CreateJavaScriptAction("app.alert('OnMouseEnter JavaScript Action',3)");
button.OnMouseEnter = action;
// change javascript action for OnMouseEnter event
(button.OnMouseEnter as PdfJavaScriptAction).Script = "app.alert('Well, hello from OnMouseEnter JavaScript Action',3)";
doc.Save("output.pdf");
PDF4NET可以加載PDF文件,它使您可以訪問所有的JavaScript片段,無論他們位於文件級或在現場/註釋動作水平。
聲明:我爲開發PDF4NET的公司工作。
+1 iTextSharp的。至於在保存時丟失的字段,值得注意的是,Fox It Reader是免費的,並且允許保存可編輯的PDF。如果這不是一個選項,那麼它通常是大多數公司的Acrobat Standard。您可以使用任意數量的PDF打印驅動程序,並將經過編輯的PDF格式的PDF格式打印爲PDF格式,但該格式在此時將爲只讀格式(在某些情況下仍有用)。