Вопрос или проблема
Мне нужна библиотека с открытым исходным кодом на C/C++, которая поможет преобразовать RTF-документ в PDF.
Я поискал и единственные два доступных решения, которые я нашел до сих пор, это:
Librtf
— библиотека в стиле C без какой-либо документации официальная страницаUnRTF
— это командная программа, которая конвертирует RTF-файл в HTML с множеством багов официальная страница
Любые идеи / мысли / предложения будут очень признательны!
Вы можете использовать LibreOffice в безголовом режиме, например:
soffice --headless --convert-to pdf file_name.rtf
Ответ или решение
Для ИТ-специалиста, желающего конвертировать RTF-документ в PDF, существует несколько открытых решений, которые могут быть полезны. Рассмотрим ваш запрос более подробно.
На данный момент, вы обозначили попытки использовать две программы:
-
Librtf: это библиотека в классическом стиле C без доступной документации. Официальная страница библиотеки упоминает её, однако отсутствие документации может создать трудности для внедрения в сложные проекты.
-
UnRTF: это инструмент командной строки, который преобразует RTF-файлы в HTML, однако известно о множестве багов. На официальной странице программы представлены ссылки для скачивания, однако качество конверсии ограничено.
Получение PDF с помощью LibreOffice в headless режиме
Одной из наиболее практичных альтернатив является использование LibreOffice в безголовом режиме (headless mode) для конвертации RTF в PDF. Это решение поддерживает широкие форматы и предлагает надежность:
soffice --headless --convert-to pdf file_name.rtf
Использование LibreOffice позволяет выполнить конверсию в пакетном режиме, что может быть полезно при интеграции в автоматизированные системы обработки документов. Дополнительное преимущество состоит в бесплатности и широком сообществе поддержки.
Автоматизация с unoconv
Для большей гибкости и интеграции, вы можете рассмотреть использование unoconv — это инструмент, зависящий от LibreOffice, который работает как сервис для конвертации документов. Инструмент позволяет автоматически и эффективно обрабатывать файлы через командную строку, что упрощает интеграцию в сторонние системы и процессы.
Рекомендации и заключение
С учетом ваших требований и доступных инструментов, использование LibreOffice в headless режиме с автоматизацией через unoconv может быть наилучшим решением. Это предложение сочетает в себе надежность и функциональность, что критично для профессиональной среды.
Если у вас появляются специфические вопросы касательно интеграции или требуются дополнительные функции, возможно, стоит обратить внимание на более специализированные коммерческие решения или внести изменения в код открытых решений с помощью команды разработчиков.
Если вы ищете поддержку сообщества или нестандартные подходы, я предлагаю присоединиться к соответствующим форумам и дискуссионным площадкам, где специалисты активно обмениваются опытом и примерами использования таких технологий.