App-Calibre Book Management-Linux 安装 + PDF 创建/修改/签名的商业级 C++ 开源库
https://download.calibre-ebook.com/
- PoDoFo PDF 开源库:
apt install zlib1g-dev libssl-dev libidn-dev libuchardet-dev libjpeg-dev libtiff-dev libpng-dev libfreetype-dev libpango1.0-dev libfontconfig-dev libxft-dev libhyphen-dev libsqlite3-dev
pip install -U sip pyqt6 pyside6 shiboken6
apt install pkg-config uchardet python3-pkgconfig qmake6 python3-pyqt6.sip python3-pyqtbuild python3-sipbuild python3-stemmer libstemmer-dev libhunspell-dev libhunspell-dev libusb-dev libusb-1.0-0-dev libmtp-dev
python3 setup.py build
python3 setup.py install
Reviews From Customers:
PDF 的开源库,大多是Java,或C#的,但C++也有一个很不错的PDF开源库:PoDoFo, 我司的PDF签章产品,我就是用这个PoDoFo库来做的.
中文支持:
1 要向PDF中写文字信息,要有几个类涉入
1.1 PdfFont
1.2 PdfPainter
1.3 PdfEncodingFactory
2 支持中文的编码器只有 PdfEncodingFactory::GlobalIdentityEncodingInstance();
3 创建字体时要设置字体的编码器(中文编码器)
const PdfEncoding* pp = PdfEncodingFactory::GlobalIdentityEncodingInstance();
PoDoFo::PdfFont *font = document.CreateFont(pszFontName, false, false, false, pp);
4 PdfPainter设置字体和字体颜色
painter.SetFont(font);
painter.SetColor(r, g, b);
5 中文信息使用前要转码成UTF8格式才能正确写入
PdfString pdfstr((pdf_utf8*)siText);
painter.DrawMultiLineText(fImageLeft, fImageTop, fImageWidth, fImageHeight, pdfstr);
Finally:
如果用好,你已经在PDF文档里写入自己的中文信息
因为是商业项目,我不便更详细讨论这个话题
祝各位有需要的朋友们好运

浙公网安备 33010602011771号