Что такое хороший конвертер PDF в HTML для Ruby on Rails?

Я пытаюсь преобразовать программно PDF в HTML. До сих пор я использовал pdftohtml, но наши пользователи недовольны результатами.

Вот что мне нужно:

  • Я использую Ruby on Rails, но любой инструмент, работающий в Unix, будет работать, поскольку я могу вызвать его из командной строки. Но, конечно, хороший камень или плагин были бы идеальными.

  • Я бы предпочел, чтобы он был с открытым исходным кодом

  • Он должен обрабатывать образы

  • Было бы неплохо, если бы была возможность сбросить изображения, если это необходимо

  • Он должен быть стабильным

  • Ему нужно вернуть html с макетом, близким к оригинальному pdf (я пробовал pdftohtml, и результат не так хорошо во многих случаях)

Ответы

Ответ 1

Вот несколько альтернатив pdftohtml/xpdf:

  • Adobe имеет бесплатную онлайн-версию PDF для HTML или текстовую службу . Может потребоваться минута или две, чтобы вернуть документ, но я подозреваю, что этот вариант даст вам наилучшие результаты.
  • Существует pdf-reader рубиновый камень, который даст вам доступ к внутренностям PDF файла. Это потребует некоторой разработки/расширения с вашей стороны, но вы можете использовать это для анализа файла PDF и создания красивого HTML. Это может быть проще, чем кажется, если вы знаете, какие типы файлов ваши пользователи переходят раньше времени (например, если они работают со стандартизованными формами).
  • У вас может быть больше вариантов, если вы используете ghostscript (gem здесь) для конвертирования PDF в другой формат. Драгоценный камень может генерировать изображения (png, jpg и т.д.) Из файла PDF, но вам, возможно, удастся превратить его в файл PostScript, поскольку, похоже, есть конвертеры "PostScript-to- [insert format here]".

Ответ 2

Для преобразования PDF в HTML pdf2htmlEX кажется довольно хорошим инструментом (смотря на все примеры/образцы):

https://github.com/coolwanglu/pdf2htmlEX

Ответ 3

Если все остальное не удается, вы можете превратить каждую страницу в изображение (используя магию изображения или подобное) и отобразить изображения, a la http://books.google.com или http://safari.oreilly.com. Это будет полоса частот, но вы получите верность оригиналу.

Ответ 4

Я провел некоторое время, работая над исследовательским проектом, который включал в себя ввод PDF файлов. То, о чем вы просите, просто очень трудная задача, и никакое программное обеспечение не сделает это отлично. В то время как HTML имеет некоторую структуру, например <p>, PDF является чисто презентационным. HTML-документ скажет: "Это абзац. Это изображение". и представление интерпретируется из этого. PDF-документ, по сути, скажет: "Этот символ должен быть отображен в позиции X, Y. этот следующий фрагмент будет отображаться в позиции..." и т.д. Поэтому даже создание абзацев из этого может быть затруднительным.

Я работал на Java, поэтому я не думаю, что конкретная программа, которую я использовал, будет очень полезна для вас. Кроме того, я помню, что некоторые PDF-генераторы соединяют изображение с меньшими изображениями и отображают их рядом друг с другом - это была огромная боль.

Есть ли какой-либо возможный способ работы с другим форматом или снизить ваши ожидания? Вы можете сделать изображение, которое предлагает Уэйн, но тогда это не действительно HTML (и это не доступно) - это забота о вас?). Это может просто быть чем-то, с чем вы живете.

Ответ 5

Попробуйте использовать poppler или xpdf. Но для этого нужна магия и привязка.

Ответ 6

вы можете попробовать http://www.pdf-to-html-word.com/pdf-to-html который работает очень хорошо. Я заплатил за это после проверки его функциональности. У вас есть бесплатная поездка, чтобы проверить это. Или используйте Acrobat Pro и сохраните как HTML с CSS. Это тоже работает. Но это боль в **, чтобы сделать с кучей файлов.

Ответ 7

Можно попробовать. Сначала я обрезал Ruby вокруг утилиты pdftohtml. Gem доступен здесь: http://gemcutter.org/gems/pdftohtmlr

Ответ 8

После использования pdftohtml в течение некоторого времени и недовольства результатами отображения версии html, я рассматриваю возможность использования API документов Google Apps или API-интерфейса scribd (сейчас мой любимый)

http://www.scribd.com/developers/api

В конце концов, я, вероятно, буду использовать pdftohtml, чтобы просто извлечь текстовое содержимое PDF файла и scribd api для отображения исходного файла на странице пользователя

Ответ 9

Я только что выпустил рубиновый камень, чтобы конвертировать документы с открытым офисным безголовым (через poyconverter или jodconverter). он также объединяет другие несколько librairies (pdftools и netpbm) для извлечения текстовых изображений из PDF файлов.

Вы можете найти его здесь https://github.com/itkin/proselytism.git

Не стесняйтесь добавлять свои собственные конвертеры и сообщать мне о некоторых проблемах