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

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

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

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

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

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

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

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

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


person marcgg    schedule 14.12.2009    source источник
comment
Есть ли конкретная причина, по которой вам нужен вывод html, а не что-то еще? Как говорится в одном из ответов, pdf и html - это существенно разные модели документов. Если мы знаем основное требование, мы могли бы предложить лучшие альтернативы...   -  person Stobor    schedule 12.01.2010
comment
Текущая логика состоит в том, чтобы получить PDF-файл и отобразить его в формате HTML. В моей компании уже разработаны некоторые решения, но окончательный рендеринг не очень хорош, поэтому они хотят его улучшить.   -  person marcgg    schedule 12.01.2010


Ответы (9)


Вот еще пара альтернатив pdftohtml/xpdf:

  • У Adobe есть бесплатная онлайн-служба преобразования PDF в HTML или текст . Возврат документа может занять минуту или две, но я подозреваю, что этот вариант даст вам наилучшие результаты.
  • Существует рубиновый гем pdf-reader, который даст вам доступ к внутренностям PDF-файла. . Это потребует некоторой разработки/расширения с вашей стороны, но вы можете использовать это для анализа файла PDF и создания красивого HTML. Это может быть проще, чем кажется, если вы заранее знаете, какие типы файлов конвертируют ваши пользователи (например, если они работают со стандартными формами).
  • У вас может быть больше возможностей, если вы используете ghostscript (gem можно найти здесь), чтобы сначала преобразовать PDF в другой формат. Драгоценный камень может генерировать изображения (png, jpg и т. д.) из файла PDF, но вам, возможно, повезет с преобразованием его в файл PostScript, поскольку, похоже, существует огромное количество конвертеров «PostScript в [вставьте формат здесь]».
person bta    schedule 06.01.2010
comment
Что касается PDF-документов, которые плохо конвертируются в HTML, я бы порекомендовал протестировать некоторые из них с помощью онлайн-сервиса Adobe для конвертации. Если они по-прежнему будут некачественными, я бы не стал тратить слишком много времени на поиск альтернатив, поскольку я полагаю, что собственные конвертеры Adobe будут лучшими. - person bta; 07.01.2010

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

https://github.com/coolwanglu/pdf2htmlEX

person amit_saxena    schedule 02.10.2013
comment
В моем ограниченном тестировании он дает поразительно хорошие результаты. - person jshkol; 27.06.2014
comment
Это инструмент gr8, но как объединиться с рельсами? - person BMW; 07.07.2014
comment
@BMW хорошее место для начала — вики проекта: github.com/coolwanglu/pdf2htmlEX/ вики/Быстрый старт . Я думаю, вы можете легко подключить его к приложению rails, используя вызов system. - person amit_saxena; 09.07.2014

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

person Wayne Conrad    schedule 06.01.2010
comment
интересное решение, посмотрю - person marcgg; 07.01.2010
comment
Вот как я это сделал, когда мне нужно было очень красиво конвертировать PDF-файлы в другие форматы. - person wesgarrison; 13.01.2010
comment
Это решение не очень хорошо, если вам нужно на самом деле проанализировать текст из файла PDF. - person lacostenycoder; 27.03.2017

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

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

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

person Ellie P.    schedule 10.01.2010

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

person vitaly.v.ch    schedule 06.01.2010
comment
poppler может преобразовать PDF во что-то другое. одна из целей может быть приемлемой для Вас. - person vitaly.v.ch; 08.01.2010

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

person Alejandro    schedule 11.01.2010

Можно попробовать это. Я впервые попытался обернуть Ruby вокруг утилиты pdftohtml. Драгоценный камень доступен здесь: http://gemcutter.org/gems/pdftohtmlr

person user271306    schedule 11.02.2010

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

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

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

person Alexis Perrier    schedule 12.02.2010

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

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

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

person nicolas    schedule 06.03.2013