Как сделать веб-сервис для конвертации файлов Excel, Word, TXT и других в PDF в режиме «как вижу» / Хабр
Откуда пошла дурацкая привычка сохранять счета, бухгалтерские и финансовые документы в формате MS Excel? Зачем хранить и передавать документы, предназначенные для печати в формате электронной таблицы, если есть специальный формат PDF? Однако, во всех бухгалтерских программах документы в первую очередь обязательно экспортируются в MS Excel и уже потом предлагаются альтернативные способы сохранения документов. От сюда и возникла задача: пусть бухгалтер сохраняет свои документы как хочет, но клиент должен получить их в формате PDF и обязательно точно в том образе, который бухгалтер сваял в шаблоне MS Excel.
В качестве бухгалтерской программы мы использовали бесплатную ВС: Бухгалтерию. (По правде сказать из этой программы можно сразу сохранять документы в PDF, но раз сказали excel, значит – excel.)
Бухгалтер выгружает XLS-файл в определенный каталог на диске, откуда мы должны его забрать, перевести в PDF и сохранить в другой каталог.
Пути решения:
Первое, что захотелось сделать, – это отыскать готовую библиотеку для PHP или Perl и прямо «на лету» конвертировать файлы.
Такие библиотеки для работы с форматом Excel действительно нашлись, например: PHPExcel, PHPExcelReader, Spreadsheet::ParseExcel и др.
Эти библиотеки действительно хорошо работают, но делают именно то, для чего предназначены: выискивают данные в электронной таблице Excel и оперируют с ними.
Нам же нужно совсем иное – получить экселевскую таблицу в виде как для печати, со всеми картинками с печатями и подписями, с форматами шрифтов, и ячеек.
Второй вариант решения — виртуальный принтер. Суть его в том, что мы открываем файл в подходящей программе и отправляем его на печать, но не на настоящий принтер, а – на виртуальный, который вместо бумаги сохранит в файл, сначала в постскрипт формате ps, а потом сделает из него файл PDF.
Поскольку система ко всему еще и должна функционировать как веб-сервис, я выбрал в качестве платформы Linux с Apache. А в качестве программы, которая умеет открывать все файлы MS Office – бесплатный OpenOffice.org 3.4
Итак, что делаем:
Устанавливаем OpenOffice. В руководстве по по установке конвертера PyODConverter предлагают устанавливать версию OpenOffice.org 2.4 обязательно -headless, но я просто установил OpenOffice.org 3.4 из репозитория и все получилось.
После установки я попробовал запустить программу, но система отказалась, захотев еще Java Runtime Environment. А нужен ли он? Оказалось, что нет. И запускать OpenOffice целиком, чтобы отправить файл на виртуальный принтер вовсе ни к чему. У программы есть прекрасный конвертер в pdf, который легко вызвать из командной строки.
Делается это так:
Создаем конвертер в PDF
Создаем bash-файл, например с именем converter.sh
<code> <source lang="bash"> #!/bin/bash # Проверяем где установлен OpenOffice.org и PYTHON. #Поправьте пути вручную, если они отличаются на вашей системе OOFFICE=`ls /usr/bin/openoffice.org3 /usr/bin/ooffice /usr/lib/openoffice/program/soffice | head -n 1` OOOPYTHON=`ls /opt/openoffice.org*/program/python /usr/bin/python | head -n 1` if [ ! -x "$OOFFICE" ] then echo "Could not auto-detect OpenOffice.org binary" exit fi if [ ! -x "$OOOPYTHON" ] then echo "Could not auto-detect OpenOffice.org Python" exit fi echo "Detected OpenOffice.org binary: $OOFFICE" echo "Detected OpenOffice.org python: $OOOPYTHON" # Reference: http://wiki.services.openoffice.org/wiki/Using_Python_on_Linux # If you use the OpenOffice.org that comes with Fedora or Ubuntu, uncomment the following line: # export PYTHONPATH="/usr/lib/openoffice.org/program" # If you want to simulate for testing that there is no X server, uncomment the next line. #unset DISPLAY # Kill any running OpenOffice.org processes. killall -u `whoami` -q soffice # Это важная строчка: программа пытается скачать из сети скрипт на языке Python, который как раз #нужен OpenOffice для конвертации файлов.
Если все хорошо, то после запуска converter.sh в #каталоге появится файл с именем DocumentConverter.py. #Если не получилось — скачайте файл DocumentConverter.py #вручную по адресу ниже и поместите в один каталог с этим скриптом. #Проверьте чтобы порт в скрипте был указан 8100 test -f DocumentConverter.py || wget http://www.artofsolving.com/files/DocumentConverter.py # Start OpenOffice.org in listening mode on TCP port 8100. $OOFFICE "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -norestore -nofirststartwizard -nologo -headless & # Wait a few seconds to be sure it has started. sleep 5s # Здесь мы перечисляем имена файлов, которые хотим конвертировать: #Имя исходного файла — в какой файл конвертируем. # Самое приятно, что конвертировать можно не только в PDF, но и в любой формат, #поддерживаемый OpenOffice.org # # Из MS PowerPoint во Flash $OOOPYTHON DocumentConverter.py sample.ppt sample.swf #Из Excel в PDF $OOOPYTHON DocumentConverter.py sample.xls sample. pdf # Close OpenOffice.org. killall -u `whoami` soffice #---------------------------------------------------- </source> </code>
Выставьте права для запуска скрипта converter.sh (755)
Поместите в один каталог с этим скриптом (converter.sh) Excel-файл под именем sample.xls, запустите скрипт converter.sh и в каталоге появится файл sample.pdf, который будет копией печатного вида экселевского файла.
Пол-дела сделано. Теперь нам нужно организовать процесс конвертации в виде веб-сервиса.
Можно, конечно, поместить файл converter.sh в каталог /cgi-bin/ Apache и запускать сразу его, но тут уже начинаются задачи обеспечения безопасности. К вопросу безопасности такого сервиса нужно подойти очень тщательно, ведь мы собираемся передавать скрипту неизвестные файлы и разрешать ему сохранять неизвестно что на диске.
Правильный подход – это разместить файл converter.sh выше DOCUMENT_ROOT Apache, а обращаться к нему через скрипт-посредник, например, на perl, который будет лежать в каталоге /cgi-bin/ и тщательно проверять все параметры, передаваемые в converter.
Какие обнаружились проблемы, после реализации сервиса конвертации.
Оказалось, что Linux не понимает файлы с именами русскими буквами в кодировке windows-1251. Что тут можно сделать:
1. Уговорить бухгалтера сохранять файлы с латинскими именами (сложно)
2. Конвертировать имя файла в utf-8 при загрузке в каталог (вполне реально)
3. Реализовать аналогичный сервис под Windows – Apache (попробую)
Под Windows конвертер реализовать тоже оказалось несложно
Я сделал так:
1. Скачал и установил LibreOffice 3.4
2. Скачал PyODConverter
3. Сохранил файл DocumentConverter.py в рабочем каталоге, например, C:\test\
4. Поменял в файле DocumentConverter.py константу DEFAULT_OPENOFFICE_PORT = 8100 (по умолчанию там был указан другой порт)
5. Поместил в каталог C:\test\ пробный файл для конвертации – test.xls
Теперь запускаем процесс конвертации.
Сначала запускаем OpenOffice в скрытом режиме.
"C:\Program Files\LibreOffice.org 3.4\program\soffice.exe" -headless -nologo -norestore -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager
Здесь важно, чтобы порт совпадал с DEFAULT_OPENOFFICE_PORT
Теперь запускаем конвертацию:"C:\Program Files\LibreOffice.org 3.4\program\python" c:\test\DocumentConverter.py c:\test\test.xls c:\test\test.pdf
И в каталоге c:\test\ обнаруживаем конвертированный файл PDF.
Вот и готов конвертер файлов xls, doc, docx, rtf, txt, odt, ott, sxw, stw, html, xml, в общем всего, что откроет OpenOffice.
Лучшее программное обеспечение для конвертации PDF в Word БЕСПЛАТНО скачать 2021
Преобразование PDF в Word, в изображение, в текст и в HTML за считанные секунды форматы файлов. Использование UniPDF дает вам удобную возможность конвертировать PDF в Word, конвертировать PDF в JPEG, конвертировать PDF в текст, конвертировать PDF в HTML, конвертировать PDF-файлы в пакетном режиме и конвертировать выбранный диапазон страниц.

Почему программа для настольного конвертера PDF в Word лучше онлайн-конвертера PDF в Word

Кто получит преимущества от использования UniPDF?
Легко понять, почему нам нужен инструмент для копирования и редактирования содержимого в файле PDF. Иногда вам может понадобиться скопировать части из цельного PDF-документа в отчет, который вы редактируете в Word. Например, вам может понадобиться скопировать текст вместе с изображением и таблицей или инфографикой из PDF-файла в текстовый документ. Копирование отдельных текстов и изображений в текстовый процессор — чрезвычайно утомительная и трудоемкая задача. Это программное обеспечение делает весь процесс простой работой, которая значительно экономит время и удобна для пользователя.
Конвертируйте файлы PDF в текст, слово, изображение и HTML одним щелчком мыши!
«UniPDF» — это революционный инструмент, который предлагает вам возможность конвертировать все ваши PDF-файлы в файлы Word с включенным текстом, изображениями и HTML. В качестве окончательного решения долгожданной потребности UniPDF предлагает ряд новых дополнений и обновлений, которые сделают ваши конкретные PDF-файлы гибкими и легко редактируемыми в текстовом процессоре.
Как преобразовать PDF в документ Word за 3 шага
Шаг 1. Добавьте или перетащите исходный PDF-файл в «UniPDF»
Вы можете использовать кнопку «Добавить», чтобы добавить несколько исходных PDF-файлов в «UniPDF», или вы можете просто перетащить PDF-файлы в « УниПДФ”. Вы также можете установить диапазон страниц для каждого файла PDF, который вы хотите преобразовать в Word.
Шаг 2. Запустите процесс преобразования PDF в Word
После добавления исходных PDF-файлов вы готовы к работе. Просто нажмите кнопку «Конвертировать», и «UniPDF» сделает все остальное за вас. В зависимости от размера PDF-файлов процесс преобразования PDF в Word обычно занимает секунды или минуты.
Теперь вы можете открывать преобразованные файлы и редактировать их по своему усмотрению!
После того, как «UniPDF» выполнил преобразование за вас, вам предоставляется два варианта: вы можете открыть все выходные документы Word для немедленного редактирования или вы можете открыть путь к выходному файлу.
ПАКЕТНОЕ КОНВЕРТИРОВАНИЕ PDF В СЛОВО, ИЗОБРАЖЕНИЕ, ТЕКСТ ИЛИ HTML
UniPDF разработан на основе основной концепции воспроизведения файла Word из PDF. Он поставляется с рядом функций, которые делают задачу еще более эффективной и действенной. В использовании он универсален. Он поддерживает преобразование файлов PDF в Word, изображения, текст и HTML. Одной из самых привлекательных особенностей этого программного обеспечения является то, что оно сохраняет оригинальный дизайн и макет PDF. Время преобразования едва ощутимо. Время, которое вы можете сэкономить на копировании и вставке содержимого PDF, составляет не минуты, а ЧАСЫ.
Уникальные функции включают в себя:
Преобразование файлов PDF в четыре типа файлов в соответствии с вашими конкретными потребностями: доступны файлы Microsoft Word, изображения, текст и HTML
Сохранение исходного дизайна и форматирования : Преобразованные файлы сохранят исходный макет и форматирование исходного документа, чтобы сэкономить время на повторное редактирование документов, чтобы получить их так, как вы хотите.
0006 : Преобразование файлов PDF по отдельности или преобразование нескольких файлов за один сеанс
Сверхбыстрое преобразование : Молниеносная скорость преобразования позволяет тратить меньше времени на преобразование и больше времени на выполнение работы.
Преобразование выбранного диапазона страниц : Преобразование целых документов или выбор только определенных страниц в документе для преобразования
Дружественный интерфейс , который может легко использовать каждый. Простой интерфейс перетаскивания позволяет вам легко выбирать, какие файлы вы хотите преобразовать
20 UI Languages
Submit your review | |
Check this box to confirm ты человек.![]() | |
Отправить Отменить |
Создайте свой отзыв
UniPDF
Средняя оценка:
5 отзывов
3 июня 2021 г.
от Alan на UniPDF
Замечательное решение
Чистая, простая в использовании платформа. Сделал хорошую работу при первом использовании. Это отличный способ акклиматизироваться, когда требуется обновление. Бритва Оккама!!!! Сайт имеет приятную домашнюю атмосферу.
2 октября 2019 г.
by khalid на UniPDF
от Ashraf на UniPDF
лучший конвертер PDF в Word
Дамы и господа, это, без сомнения, лучший конвертер PDF в Word, который я когда-либо использовал. Забудьте обо всех бесплатных конвертерах PDF в Word — он даже превосходит платные конвертеры PDF в Word, которые я использовал, такие как NxxxPDF 6.
Действительно, он имеет отличное качество конвертации; он не идеален на 100% (ни один конвертер не идеален на 100%), но в целом он очень точно конвертирует изображения, текст и таблицы.
13 апреля 2019 г.
от Стейси Фишер на UniPDF
Я преобразовал несколько разных PDF-файлов в формат DOC, чтобы найти шрифт, изображения и текст в правильных местах и выглядели почти так же, как в PDF, только редактируемые, что замечательно.
5 апреля 2019 г.
от NHOLTOM на UniPDF
ОТЛИЧНО!
ПЛЮСЫ:
Сохраняет формат pdf после преобразования в Word – ОТЛИЧНО!
Простой чистый интерфейс
Легкий (в отличие от других вредоносных программ)
БЫСТРЫЕ преобразованияМИНУСЫ:
Пока нет.ОБЗОР:
Это программное обеспечение действительно заслуживает гораздо большего количества положительных отзывов
Я потратил два дня на поиски и попытки других приложений, пока не наткнулся на это, которое, как я жалею, не нашел первым.
Удобный дизайн Поддержка более 20 языков
UniPDF — установлен
Преобразование завершено
Добавление файлов PDF
Открытие преобразованных файлов Word
Преобразование PDF в Word
Настройки UniPDF
Лучшие онлайн-конвертеры PDF | Безопасный поиск детей
В наши дни существует множество различных типов компьютерных документов, поэтому покупка нескольких программ для преобразования файлов может быть дорогостоящей. Будь то работа дома или в школе, преобразование файлов часто необходимо для целей редактирования. Популярным документом, который людям часто нужно конвертировать, является PDF.
После создания PDF-файл нельзя редактировать, если вы не установите редактор PDF или не конвертируете его в Word. Лучшие онлайн-конвертеры PDF также позволят вам преобразовать документ Word обратно в PDF. Помимо того факта, что PDF-файлы являются постоянными, их также можно размещать в Интернете для использования и загрузки другими пользователями.
PDF-файл имеет расширение .pdf, а документ Word — .doc или .docx. Любой PDF-файл можно открыть с помощью бесплатного программного обеспечения Acrobat Reader, но эта программа не может их редактировать.
В этой статье мы предоставим вам четыре онлайн-инструмента для конвертации PDF, которые вы можете использовать. Эти инструменты онлайн-конвертера избавят вас от всех хлопот, связанных с необходимостью перепечатывать документ для его редактирования.
Медведь PDFЕсли вы ищете инструмент онлайн-конвертера, который может конвертировать множество форматов файлов, то PDF Bear — это то, что вам нужно. PDF Bear — это не только конвертер PDF в Word, он также может конвертировать ваши PDF-файлы в другие форматы файлов, такие как PPT, JPG, Excel, HTML и многие другие.
PDF Bear — это бесплатный онлайн-конвертер, который не взимает плату за быстрый процесс конвертации. Вам не нужно беспокоиться о компрометации вашего файла другими пользователями, поскольку ваши файлы будут удалены, если они обнаружат час бездействия. Вы можете быть уверены, что ваши документы будут в целости и сохранности. Итак, если вам нужно преобразовать файлы, PDF Bear — это то, что вам нужно.
Еще одним мощным онлайн-конвертером в этом списке является Wondershare PDF Converter. Этот конвертер очень прост в использовании и имеет удобный интерфейс, который позволит вам без проблем конвертировать несколько форматов файлов. С помощью этого конвертера вы можете разделить определенные файлы на файлы разных форматов и объединить их в один документ.
Если файл PDF защищен паролем, вы получите к нему доступ, только если введете правильный пароль. Этот конвертер стоит за своим названием Wondershare, потому что он всегда обеспечивает высококачественные преобразования всего несколькими нажатиями на вашем устройстве. Говоря о функциях, можно с уверенностью сказать, что это программное обеспечение для редактирования PDF имеет функции, которые считаются одними из лучших.
Soda PDF Converter также является важным инструментом конвертера. Он хорошо известен тем, что доступен с любого устройства, из любого места и в любое время. Вы можете редактировать, комментировать, создавать файлы PDF, конвертировать PDF в Word или читать на любом из ваших устройств или в Интернете. Вы можете выбрать все, что вы хотите, что работает для вас.
Одна удивительная особенность этого конвертера заключается в том, что с его помощью очень легко конвертировать документы. Все, что вам нужно сделать, это просто загрузить документ, который вы хотите преобразовать, или просто использовать функцию перетаскивания. Затем выберите любой формат файла, в который вы хотите преобразовать его, и позвольте инструменту сделать свое волшебство за вас.
Маленький PDF-конвертер Несмотря на то, что он называется Small PDF Converter, он не должен вас обманывать. Small PDF Converter предоставляет множество полезных функций бесплатно. Он также очень прост в использовании и очень удобен, особенно для новичков. Вам даже не нужно ничего скачивать или регистрировать аккаунт.
Вам просто нужно зайти на их веб-сайт и загрузить файл, который вы хотели преобразовать в другой формат. После завершения процесса преобразования вы можете делать с загруженным файлом все, что захотите. Вы можете редактировать, комментировать или загружать его на свое устройство или отправлять в облачное хранилище, такое как Dropbox или Google Drive.
Еда на вынос Мы надеемся, что этот список помог вам найти идеальный онлайн-конвертер для всех ваших потребностей в конвертации. Это лишь некоторые из инструментов конвертера PDF в Word, и вы можете поискать в Google больше. Просто не забудьте провести исследование, чтобы убедиться, что любая онлайн-программа, которую вы используете, безопасна. Эти инструменты очень просты в использовании и являются действительно удобным способом преобразования ваших документов в файлы других форматов.