Как мне продублировать PDF с некоторой заменой текста и редактированием

Я изучаю пару сторонних компонентов для работы с PDF через С#. Это Aspose.pdf.net и iTextSharp. Ниже приведены подробности о том, для чего я их изучаю:

У меня есть несколько PDF-файлов, которые содержат конфиденциальную информацию в виде текста, например, имя человека, город и т. д. Эти PDF-файлы необходимо дублировать в другую копию, но при создании дублированной копии конфиденциальный текст необходимо искать и заменять каким-либо фиктивным текстом. Замена необходима, чтобы избежать отслеживания исходной информации любым мошенническим путем. Кроме того, замененный текст требует редактирования.

Ожидается, что поиск текста будет поддерживать RegEx, поскольку могут быть варианты текста, которые необходимо маскировать.

Не могли бы вы помочь мне, как это можно сделать с помощью iTextShart.

Заранее спасибо.


person Jaqen H'ghar    schedule 02.09.2016    source источник
comment
iTextSharp может полностью редактировать (как визуальные, так и данные, хранящиеся в pdf) с помощью модуля PdfSweep (itextpdf. com/itext7/pdfsweep). Я напишу ответ с более подробной информацией   -  person Samuel Huylebroeck    schedule 02.09.2016
comment
@Jaqen - ответ Самуэля подходит для вас или вы ищете что-то другое. Поскольку вы не приняли этот ответ, ни в комментарии, ни в редактировании вашего вопроса, указав, что этого ответа может быть недостаточно, вам трудно помочь.   -  person mkl    schedule 06.09.2016
comment
Спасибо @mkl, я добавил комментарий..   -  person Jaqen H'ghar    schedule 07.09.2016


Ответы (1)


iTextSharp может выполнять полное редактирование (как визуальных, так и данных, хранящихся в pdf) с помощью модуля PdfSweep (http://itextpdf.com/itext7/pdfsweep). Чтобы редактирование произошло после текстового поиска, вам необходимо:

  1. Извлеките текст из документа (можно сделать с помощью iText).
  2. Выполните поиск в извлеченном тексте и получите позиции текста, который вы хотите отредактировать. (требуется реализация с вашей стороны)
  3. Используйте эти позиции, чтобы определить, где PdfSweep должен редактировать. (пару строк кода)

По умолчанию PdfSweep визуально редактирует, рисуя цветные полосы над местоположениями, и внутренне удаляет текст и любое изображение. Хотя технически возможно использовать iText для заполнения отредактированных позиций некоторым фиктивным текстом, его реализация имеет ряд подводных камней.

PdfSweep — это модуль с закрытым исходным кодом для iText7, вы можете связаться с нашим отделом продаж для получения дополнительной информации о лицензировании.

person Samuel Huylebroeck    schedule 02.09.2016
comment
Спасибо Самуил за отзыв. Я скачал пробную версию для iText7 для .net. Но я не нашел способа использовать PdfSweep. Его нужно скачивать отдельно? Пожалуйста помогите. - person Jaqen H'ghar; 07.09.2016
comment
PdfSweep — это модуль с закрытым исходным кодом, для которого требуется отдельная лицензия. На данный момент у нас нет пробной версии для него, как для ядра iText7, но вы можете связаться с нашим отделом продаж здесь: itextpdf.com/request-a-quote - person Samuel Huylebroeck; 07.09.2016
comment
Мы ищем, как этот поиск-замена-редактирование может быть выполнен с помощью пробных версий некоторых сторонних компонентов, доступных для работы с PDF; а затем мы должны решить, что подходит для наших требований. Можно ли это сделать с помощью некоторых других пробных версий, доступных для iText? Пожалуйста, предложите. - person Jaqen H'ghar; 07.09.2016