Что такое хороший конвертер 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
Не стесняйтесь добавлять свои собственные конвертеры и сообщать мне о некоторых проблемах