У меня есть несколько файлов PDF, которые мне нужно изменить с помощью PHP-скрипта. Я также могу использовать exec(), поэтому я могу использовать почти все, что работает в CentOS.
Файлы PDF при открытии в Adobe Acrobat Pro X показывают 2 слоя на панели «слои»:
- Фон
- Цвет
Когда я отключаю оба этих слоя, я получаю черно-белый текст и изображения (текст не векторный, это отсканированный документ).
Я хочу отключить эти слои и любые другие подобные слои, найденные в PDF-файлах, с помощью PHP и/или C# или любого инструмента командной строки.
Другая полезная информация:
Когда я запускаю pdfimages (поставляемый с XPDF) в своих PDF-файлах, он извлекает именно то, что мне действительно нужно, удалить с каждой страницы...
Обновление дополнительной информации: я изменил пример PDFSharp здесь: http://www.pdfsharp.net/wiki/ExportImages-sample.ashx :
Изменено:
Строка 28: ExportImage(xObject, ref imageCount);
To:
PdfObject obj = xObject.Elements.GetObject("/OC");
Console.WriteLine(obj);
Я получил следующий вывод в консоли для каждого изображения:<< /Name Background /Type /OCG >>
<< /OCGs [ 2234 0 R ] /P /AllOff /Type /OCMD >>
<< /Name Text Color /Type /OCG >>
Что на самом деле является информацией о слое и документацией PDFSharp для ключа / OC:
Перед обработкой изображения его видимость определяется на основе этой записи. Если определено, что он невидим, все изображение пропускается, как если бы не было оператора Do для его вызова.
Итак, как мне изменить значение /OC на что-то, что сделает эти слои невидимыми?
pdfimages
можно было бы адаптировать для вырезания, а не для копирования. - person Orbling   schedule 22.05.2011