对于将 PDF 转换为 PNG 或 JPEG 格式的第三方 C++ 库,以下是几个推荐的库,它们提供了适用的 API 并且编译和使用相对简单:
1. Poppler
Poppler 是一个流行的开源 PDF 渲染库,提供了丰富的 API 来处理 PDF 文件并将其转换为图像格式。
安装和使用 Poppler
-
安装依赖项:
sudo apt-get install cmake g++ libcairo2-dev libfontconfig1-dev libfreetype6-dev libpng-dev libjpeg-dev libtiff-dev
-
克隆仓库并编译:
git clone https://gitlab.freedesktop.org/poppler/poppler.git cd poppler mkdir build cd build cmake .. make
-
示例代码:
#include <poppler/cpp/poppler-document.h> #include <poppler/cpp/poppler-page-renderer.h> #include <cairo/cairo.h> int main(int argc, char **argv) { if (argc < 3) { std::cerr << "Usage: " << argv[0] << " <input.pdf> <output_prefix>" << std::endl; return 1; } std::string input_pdf = argv[1]; std::string output_prefix = argv[2]; auto document = poppler::document::load_from_file(input_pdf); if (!document) { std::cerr << "Failed to open PDF file." << std::endl; return 1; } poppler::page_renderer renderer; for (int i = 0; i < document->