Есть ли способ заменить текст в файле PDF на itextsharp? - PullRequest
6 голосов
/ 28 апреля 2009

Я использую itextsharp для генерации PDF-файлов, но мне нужно динамически изменять текст. Я знаю, что это можно изменить, если есть AcroField, но мои PDF-файлы есть. У него просто есть несколько чистых текстов, и мне нужно изменить некоторые из них.

Кто-нибудь знает, как это сделать?

Ответы [ 3 ]

5 голосов
/ 24 марта 2010

На самом деле, у меня есть запись в блоге о том, как это сделать! Но, как сказал Ян Гилхэм, это зависит от того, имеете ли вы контроль над оригинальным PDF. Основная идея заключается в том, что вы настраиваете форму на странице и заменяете поля формы нужным текстом. (Вы можете оформить форму так, чтобы она не выглядела как форма)

Если у вас нет контроля над PDF, дайте мне знать, как это сделать!

Вот ссылка на полный пост:

Использование шаблона для программного создания PDF-файлов с C # и iTextSharp

2 голосов
/ 28 апреля 2009

Я не использовал itextsharp, но я использовал PDFNet SDK для изучения содержимого большой стопки PDF-файлов для локализации за последние несколько недель.

Я бы сказал, что то, что вам нужно, абсолютно достижимо, но насколько это сложно, будет полностью зависеть от того, насколько вы контролируете качество файлов. В моем случае файлы могут быть построены из любой комбинации изображений, текста в произвольном порядке, таблиц, форм, путей, однопиксельной графики и отсканированных страниц, некоторые из которых состоят из сотен небольших изображений. Скажем так, нам весело с этим.

При работе с PDFTron вам нужно будет реализовать средство просмотра (образец доступен) и добавить некоторый код поверх выделения текста. Учитывая сложности формата, может потребоваться реализовать простой редактор во вспомогательном диалоге с возможностью расширения выделения до следующей строки (или любого другого фундаментального объекта, используемого для создания текста). Затем строку можно отредактировать и применить, скопировав всю страницу документа на новую страницу, заменив выбранные элементы новой строкой. Вам, вероятно, придется сделать некоторую математику, чтобы заставить это работать хорошо, так как почти все в PDF находится на странице посредством аффинного преобразования .

Удачи. Я уверен, что здесь есть люди с опытом работы с itextsharp и PDF в целом.

0 голосов
/ 23 декабря 2011

Этот вопрос время от времени появляется в списке рассылки . Тот же самый ответ дается снова и снова - НЕТ . См. эту тему для официального ответа от человека, который создал iText .

Этот вопрос должен быть FAQ по тегу itextsharp wiki .

...