Библиотека PDF с открытым исходным кодом для приложения C / C++?

Я хочу иметь возможность генерировать вывод PDF из моего (собственного) приложения Windows на C++. Доступны ли для этого бесплатные библиотеки с открытым исходным кодом?

Я посмотрел ответы на этот вопрос, но в основном они касаются .Net.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
91
0
179 995
10
Перейти к ответу Данный вопрос помечен как решенный

Ответы 10

Ответ принят как подходящий

LibHaru

Haru is a free, cross platform, open-sourced software library for generating PDF written in ANSI-C. It can work as both a static-library (.a, .lib) and a shared-library (.so, .dll).

Сам не пробовал, но может тебе поможет

Можем ли мы читать файлы pdf с помощью LibHaru или можем только создавать?

Rui Carneiro 21.04.2009 18:32

@Rui: только творить, к сожалению.

Mark Ransom 13.11.2009 04:31

FWIW, я написал оболочку POCO для libHaru (github.com/pocoproject/poco/tree/master/PDF). Мы никогда не выпускали его, но это код почти производственного уровня.

Alex 30.11.2012 00:09

К сожалению, LibHaru не поддерживает чтение и редактирование PDF. Так бесполезно для меня.

freeze 28.12.2018 16:50

Стоит отметить, что последний коммит был в 2015 году. В настоящее время библиотека не поддерживается.

Eugene 13.01.2021 09:21

Если вы отважны и хотите создать свою собственную, вы можете начать с библиотеки PostScript и дополнить ее для работы с PDF, воспользовавшись преимуществами Adobe бесплатный онлайн-справочник в формате PDF.

  • LibHaru, кажется, используется многими.

Подход без открытого исходного кода: PDF Creator Pilot, который предоставляет дополнительные языковые параметры, включая C++, C#, Delphi, ASP, ASP.NET, VB, VB.NET, VBScript, PHP и Python.

Это немного зависит от ваших потребностей. Одни инструменты лучше умеют рисовать, другие - писать текст. Каир неплохо подходит для рисования (поддерживает широкий спектр экранов и типов файлов, включая pdf), но может не подходить для хорошей типографики.

Я работал над проектом, для которого требовался отчет в формате pdf. После поиска в Интернете я нашел библиотеку PoDoFo. Выглядело очень крепко. Мне не нужны были все функции, поэтому я создал оболочку, чтобы абстрагироваться от некоторых сложностей. Это было не так уж сложно. Вы можете найти библиотеку здесь:

http://podofo.sourceforge.net/

Наслаждаться!

Создание PdDoFo на Mac - огромная боль, поэтому я, наконец, оставил попытки. Создать LibHaru было очень легко.

user336063 23.01.2015 04:13

Podofo получил 2 проблемы с компилятором, после добавления #include <climits>, <numeric_limits> в два файла смог собрать пакет. Но почему-то система cmake не работает на моем Linux, где у меня есть две версии GCC (старая идет с моим Centos6.5, а последняя версия 5.3, которую я создаю). Связывание - это проблема. Мне удалось связать helloworld, но тестовая программа выдала пустой документ. Решить эту проблему очень сложно.

Kemin Zhou 17.08.2016 21:11

Но для podofo ТРЕБУЕТСЯ библиотека freetype2, которая является GPL, а не LGPL. Вы не можете создавать программы с использованием freetype2 если вы не хотите публиковать свой источник.

18C 24.08.2017 21:35

@ 18C: Freetype позволяет включать в коммерческие приложения с закрытым исходным кодом. См. это

Congenital Optimist 12.11.2018 14:18

Очень многообещающе выглядит библиотека muPdf: http://mupdf.com/

Также есть программа просмотра с открытым исходным кодом: http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader.html

Похоже, muPdf предназначен для рендеринга PDF-файлов, а не для их создания?

vy32 21.08.2012 01:16

@ vy32 Глядя на источник, я бы сказал, что создание pdf-файлов в лучшем случае находится в стадии разработки и не является основной целью muPdf.

matec 22.06.2014 23:44

PDF Хумус. см. http://pdfhummus.com/ - содержит все необходимые функции для работы с файлами PDF, кроме рендеринга.

Недавно я сделал большой PDF-экспорт с Hummus и могу порекомендовать его. Вероятно, неполный с точки зрения охвата всех функций текущего PDFSpec (который является довольно исчерпывающим), но простой для понимания и хорошо расширяемый с помощью класса обратного вызова с рядом виртуальных функций (github.com/galkahana/PDF-Writer/blob/master/PDFWriter/…). Содержит обработку TIFF / JPEG и библиотеку freetype для обработки шрифтов.

RED SOFT ADAIR 27.05.2014 16:14

Вам удалось скомпилировать его как динамически подключаемую библиотеку? Или он поддерживает только статическую связанную библиотеку?

Sam 12.09.2018 16:57

http://wxcode.sourceforge.net/docs/wxpdfdoc/

Работает с библиотекой wxWidgets.

jagpdf кажется одним из них. Он написан на C++, но предоставляет C API.

Попробуйте wkhtmltopdf

Возможности программного обеспечения

Кросс-платформенный. Открытый исходный код. Преобразуйте любые веб-страницы в документы PDF с помощью webkit. Вы можете добавлять верхние и нижние колонтитулы. Генерация ТОС. Пакетный режим преобразования. Может работать на сервере Linux с XServer (должны быть установлены клиентские библиотеки X11). Может напрямую использоваться PHP или Python через привязку к libwkhtmltox.

Это хорошо. Но, поскольку он использует устаревший webkit, некоторые страницы могут жаловаться (например, YouTube)

swdev 01.09.2014 03:31

Другие вопросы по теме