2009-11-03 2 views
0

Я написал код C# для сохранения технических характеристик продукта в PDF-документе с использованием iTextSharp, в основном с PdfPTable и Chunkks/Paragraphs в PdfPCells. Однако мне сказали, что вывод недопустим из-за того, что вы можете выделить и скопировать текст из программного обеспечения для хранения и хранения документов и документов, которые они используют в настоящее время, не поддерживает PDF-файлы на основе Vector. Я не совсем уверен, какая разница между растровым PDF и векторным pdf. В принципе, каждая страница PDF-документа должна быть изображением, чтобы текст не мог быть выделен. Есть ли способ сделать это без использования DirectContent? Ниже приведено изображение, иллюстрирующее часть созданного PDF-файла, и как текст может быть выбран и скопирован, что является неправильной функциональностью.Создание PDF-файла в растровом формате вместо вектора с использованием itextsharp

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

Приложение для Windows PDF2R хорошо работает, но не предлагает никаких программных решений. Я нашел библиотеки, которые заявили, что они делают такое преобразование, но составляют несколько тысяч долларов. Я хотел бы работать в рамках своего бюджета и использовать itextsharp или что-то гораздо дешевле, чем это.

alt text http://img687.imageshack.us/img687/195/pdfexample.jpg

ответ

0

Я хотел бы предложить вам попробовать сформировать изображение с помощью класса System.Drawing, а затем вставить, что в PDF-документ.

+0

Я не верю, что это сработает, потому что, подобно DirectContent, это полностью отрицает способность библиотеки PDF-образов форматировать, переносить слова и правильно рисовать документ. – stephenbayer

1

Вызов этот код на свой объект PDFWriter:

writer.SetEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.AllowPrinting); 

Это не помешает пользователям выбирать текст, но это предотвратит их от копирования и вставки. Попробуйте.