c++对接pdfium(一)win系统篇

前言

因为在弄文件编辑这快,最高性能基本都是使用c++的pdfium库实现,今天这篇是使用win系统运行的

开始

环境安装介绍(建议走AI进行安装),硬盘要够大,估摸整体要30GB多

  1. 要先安装Visual Studio工具
  2. git 克隆depot_tools工具
  3. 下载PDFium源码
  4. 开始编写C++代码

最新版本的PDFium,支持(win/linux/android/ios),wasm建议使用rust进行开发。

GN:负责「生成编译配置」
Ninja:负责「执行编译任务

gn gen out\Debug 生成目录 # 可不用 gn args out\Debug 编写配置 编译生成pdfium.dll(动态库) ninja -C out\Debug -j4 pdfium

演示效果

项目架构

main.cpp

#include <iostream> #include "public/fpdfview.h" int main() { std::cout << "PDFium Test Start\n"; FPDF_InitLibrary(); FPDF_DOCUMENT doc = FPDF_LoadDocument("ebook.pdf", nullptr); if(!doc){ std::cout<<"open failed"; return -1; } int pages = FPDF_GetPageCount(doc); std::cout<<"pages:"<<pages<<std::endl; FPDF_CloseDocument(doc); FPDF_DestroyLibrary(); return 0; }

CMakeLists.txt

cmake_minimum_required(VERSION 3.20) project(pdfium_demo) set(PDFIUM_DIR D:/code/c++/pdfium) add_executable( pdfium_demo main.cpp ) target_include_directories(pdfium_demo PRIVATE ${PDFIUM_DIR} ) target_link_directories(pdfium_demo PRIVATE ${PDFIUM_DIR}/out/Debug ) target_link_libraries(pdfium_demo pdfium.dll.lib )

使用 Developer Command Prompt for VS 命令窗口

生成工程【修改CMakeLists.txt】 cmake -B build 编译 cmake --build build --config Debug