powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Редактирование PDF
2 сообщений из 2, страница 1 из 1
Редактирование PDF
    #39589657
Zhenek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Перед тем как писать сюда, поиск листал)
Такая проблема. Есть PDF, нужно изменить в нем 10 цифр на другие.
Вариант разбирать его, парсить и собирать не вариант т.к. файлов много (около 50 видов), суть у всех одна, но разный формат, шрифты.
Соответственно этиф цифры всегда находятся в разных места.
Если PDF конвертировать в XML через онлайн конвертер, то строчка легко находится (во всем ПДФ всего 1 слово состоит из 10цифр подряд))), но обратно он уже не собирается т.к. к файлу xml не идет никаких стилей и т.д. в итоге получается просто каша.

Например в ворде можно открыть его как архив и простым str_replace заменить.
Можно ил это сделать с PDF.

Интересует именно кто работал с библиотеками типа ZENDpdf FPDF, чтобы мне не устанавливать их и неделями изучать скудные доки, может кто знает и скажет "Вот в этой так сделать можно без гемороя" а дальше я сам)
...
Рейтинг: 0 / 0
Редактирование PDF
    #39589910
Zhenek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так-же может у кого есть опыт ручной разборки PDF, внутри он состоит из объектов, каждый из которых сжат, иногда несколько раз разными алгоритмами.
Общее описание синтаксиса я нашел, будет ли работать такой алгоритм:
1. Парсим фаил
2.Бежим по объектам ищем текстовые и поочереди расшифровываем
3.Находим тот, в котором нужные цифры, меняем их
4.Собираем в том-же порядке, точнее зная в каком объекте находился текст, мы формируем новый объект, а потом в самом pdf делаем str_replace('старый объект','новый объект',

Тут возникают вопросы,
1. Буквы и цифры там зашифрованы, таким образом: <0F>9<0A>4<10>11<11>10<12>23<13>6<10>11<14>10<10>11<15>
Где <0A> буква, а между буквами тех.информация. В одном из объектов есть таблица соответствия например <0A> - К
Всегда ли они одинаковые? т.к. там говорится, что некоторых комбинация могут быть зашифрованы до 128 символов юникод

Таблица преобразований выглядит вот так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
5 beginbfchar
<01> <041F>
<02> <0410>
<03> <0420>
<04> <0423>
<05> <0421>
<06> <0411>
<07> <0435>
<08> <043B>
<09> <0442>
endbfchar



Между beginbfchar и endbfchar содержатся одиночные преобразования, каждый раз они генерируются или нет?
т.к. проверять сложно, каждый объект зашифрован по разному, по 1-2 раза и например FPDF может это делать так, а Acrobat по другому.

Прошу совета кто уже работал. Сегодня пол дня потратил только на изучение формата, реализация еще дня 3 займет слепых поисков((( А то может потратить это время на написание универсального парсера этих файлов и самому собирать(
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Редактирование PDF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]