Изменение PDF через iTextSharp, чтобы заменить существующий текст новым текстом - PullRequest
0 голосов
/ 09 марта 2012

Скажите, пожалуйста, есть ли в iTextSharp какая-либо функция, которая заменяет («xx», «yy») функцию в файле pdf без изменения оставшихся частей файла.

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Краткий ответ: НЕТ Вы не можете сделать это с помощью iText.

Более длинный ответ: PDF - это формат отображения, поэтому при отображении PDF принимается много решений о макете страницы и символов.и позиционирование.Глава 6 iText в действии содержит прекрасное описание того, почему это не тривиальная задача.Вы можете бесплатно прочитать главу 6 с сайта издателя .

1 голос
/ 12 марта 2012

Я нашел способ сделать это через поля формы PDF.

    String formFile = Server.MapPath("~/") + "source.pdf";

    String newFile = Server.MapPath("~/") + "sink.pdf";

    PdfReader reader = new PdfReader(formFile);

    PdfStamper stamper = new PdfStamper(reader, new FileStream(newFile, FileMode.Create));

    AcroFields fields = stamper.AcroFields;

    // set form fields

    fields.SetField("{TO}", "John Doe");

    fields.SetField("{FROM}", "2 Milky Way, London");

    stamper.FormFlattening = true;

    stamper.Close();
...