Редактирование JavaScript в формате PDF с .net - PullRequest
4 голосов
/ 28 февраля 2011

Можно ли отредактировать javascript документа pdf с помощью .net?

Я смотрел на Acrobat SDK , но без особой удачи.Похоже, вы можете извлекать значения из форм и т. Д., Но не редактировать документ.

Я не в курсе?Возможно ли это вообще?

Я пробовал iTextSharp , но, поскольку в pdf содержатся поля формы, при сохранении pdf поля теряются.

Есть предложения?

Ответы [ 4 ]

6 голосов
/ 01 марта 2011

Ну, по-видимому, вы можете с 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();

( Этот вопрос помог)

1 голос
/ 10 марта 2011

+ 1 на iTextSharp.Что касается полей, которые теряются при сохранении, стоит отметить, что Fox It Reader является бесплатным и позволяет сохранять редактируемые PDF-файлы.Если это не вариант, то обычно это стандарт Acrobat в большинстве компаний.Вы можете использовать любое количество драйверов печати PDF и распечатать отредактированную форму PDF в PDF, хотя в этот момент она будет доступна только для чтения (все еще в некоторых случаях используется).

1 голос
/ 28 февраля 2011

Конечно, javascript документа PDF можно редактировать.

Я не знаю, как это можно сделать в других библиотеках, но с 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");
0 голосов
/ 28 февраля 2011

PDF4NET может загружать файлы PDF и дает вам доступ ко всем фрагментам JavaScript, независимо от того, расположены ли они на уровне документа или на уровне действий над полями / аннотациями.

Отказ от ответственности: я работаю накомпания, которая разрабатывает PDF4NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...