Pull to refresh

Comments 23

Вы не встречали простого способа преобразовать PDF/PPT файл в серию картинок?
С помощью pdftk можно разбить PDF файл на страницы:
pdftk file.pdf burst

и потом inkscape-ом преобразовать в SVG получившиеся страницы:
inkscape -z -f pg_0001.pdf -l output_page1.svg

Обе утилиты доступны в большинстве современных linux дистрибутивов.
Однозначно в закладки!
С pdftk знаком — утилита весьма известная. Единственное что не нравится — зависимость для сборки gcc-gcj(The GNU Compiler for Java)pdftk из AUR, хотя никто не мешает использовать уже собранную — бинарную версию pdftk-bin.
За направление в сторону inkscape, большое спасибо — раньше не рассматривал этот векторный редактор с точки зрения пакетного конвертера. Конечно он есть в репозитории.
Есть минимум несколько способов: pdf2ps + imagemagick (если я ничего не путаю), или например pdfdraw из замечательной библиотеки mupdf. Но, как я помню, во-первых, imagemagick жрет память и тормозит, во-вторых, я так и не решил проблему антиалиасинга, чтобы буковки отображались ровненькими и кругленькими. Так что если хотите этим заняться, придется экспериментировать.

А ppt — тут наверно опенофис нужен, его вроде ничем больше не прочесть.
Вот ради любопытства, попробуйте использовать FineReader =)
Или, что лучше подойдет в вашей ситуации — FineReader Engine for Linux
Спасибо за уточнение: заказал тестовую версию на сайте abbyy — в данном случае для себя(описанная в статье работа давно сдана), чтобы провести сравнительный анализ функциональности. И в дальнейшем иметь представление и об этой линейке продуктов.
Если напишете статью не забудьте прилепить ссылку в эту.
И спасибо за материал
Когда делалась работа описанная в статье — в ТЗ не учитывались дополнительные расходы на приобретение коммерческого продукта(только за счет разработчика).
Acrobat Reader я хотел использовать как эталон — для сравнения с другими конвертерами. Но вот эталон сам подкачал =)
Решение оригинальное, но не оптимальное, имхо :)
Отчет в таком виде дает биржа, т.к. он подписан цифровой подписью во избежание ;)
Да это документы с биржи — в первоначальном виде открывается редакторами в режиме read only.
Документ представленный на скриншоте, в начале статьи, — просто шаблон. Он был обработан delinearizator-ом и потом отредактирован в pdfedit — информация на оригинале не публичная.
UFO just landed and posted this here
1. Любопытно — либы в студию.
2. Название биржи есть на скриншоте: СПбМТСБ. Файлы предоставлял заказчик(о чем я тоже писал) — изменить формат «выписки из реестра сделок», он либо не смог, либо не захотел. ТЗ было составлено именно с учетом файлов в формате pdf.
Правильнее было бы назвать пакет headless.
у pdftotext есть замечательная опция -layout которая старается сохранить исходное форматирование. работает отлично с весьмо сложными таблицами (не уверен, что вообще со всеми, но я проблем почти не встречал). имхо, вы слишком перемудрили pdfedit и скриптами.
Большое спасибо, с данной опцией вывод pdftotext — оказался просто отличным для файлов описанного в статье проекта.
Сегодня экспериментировал с различными pdf файлами, получилась что между pdfedit и pdftotext — все равно нет абсолютного чемпиона, скажем:
Pdftotext — лучше сконвертировал ряд вытянутых в горизонтальном направлении таблиц и одноколоночных журналов.
Pdfedit — лучше работал с многоколоночными журналами(например:linuxformat) и вертикально ориентированными таблицами.
Гдето обе программы показали одинаковый результат (например: журнал Цейнгауз).
Потому, наверно, проделанную работу нельзя назвать напрасной — получилось довести до ума еще один инструмент пакетной обработки pdf формата.
Супер. Правда у Вас более сложно получилось…
Я когда-то маялся с сфотографированными делами. Требовалось повернуть лист на 90 град. (если надо), разрезать пополам и записать 2 файла. Вроде тоже всё просто.
Потом оказалось, что пополам было не всегда пополам, т.к. дела фотографировались не со штатива, а «руками». То листы повёрнуты, то в одну половинку вклеен лист, который больше другой половинки. Нужно было обрезать чёрные поля вокруг фото, нужно было немного поворачивать лист, если он криво сфотографирован (а наких 99,9%). Потом нужно было найти центр и по нему резать.
Объём отсканированных книг был ближе к терабайту. Пришлось жертвовать качеством поворотов/обрезок в угоду скорости.
В итоге задачу решил (до приемлемого качества). Помог Linux, bash и ImageMagick (вот действительно магический пакет).
Клиент остался доволен, что главное!
Люблю такие статьи. Самому как бы не нужно что человек сделал, а приятно что доковырялся.
Попробовал добавить скрипт в /usr/share/pdfedit: (ubuntu 10.04 lts)

$ pdfedit -console savealltext

No function found matching 'savealltext'
Доступные функции:
Delinearizator
Flattener
лучше поздно, чем никогда

если посмотреть в /usr/share/pdfedit/delinearize.qs
то видно, что у него заголовок начинается с
// Console: Delinearizator
// Description: Delinearize input file
// Parameters: [input file] [output file]
/*
 * PDFedit - free program for PDF document manipulation.

я вставил такой же в /usr/share/pdfedit/savealltext.qs:
// Console: SaveAllText
// Description: SaveAllText input file
// Parameters: [input file] [output file]
...

и функция появилась:
$ pdfedit -console 
PDFedit 0.4.5-20140818011915
Usage:
 pdfedit -console [function name] [function parameter(s)]
First parameter is name of function to invoke (case insensitive) or its unambiguous part.
Rest of parameters are passed to invoked function.
Available functions:
 Delinearizator
  Description: Delinearize input file
  Parameters: [input file] [output file]
 Flattener
  Description: Flatten input file (remove all revisions except the last one)
  Parameters: [input file] [output file]
 SaveAllText
  Description: SaveAllText input file
  Parameters: [input file] [output file]
pdftotext работает гораздо лучше если прочитать документацию и найти там ключ -layout:

pdftotext -layout input.pdf output.txt
Sign up to leave a comment.

Articles