https://download.calibre-ebook.com/

  1. 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文档里写入自己的中文信息


因为是商业项目,我不便更详细讨论这个话题

祝各位有需要的朋友们好运

App-Calibre Book Management-Linux 安装 + PDF 创建/修改/签名的商业级 C++ 开源库的更多相关文章

  1. linux安装mysql以及修改密码和重启mysql等相关命令

    Linux/UNIX 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连 ...

  2. linux 安装mysql后修改密码出现问题

    新安装的mysql 执行命令时候出现错误: 一 错误信息: ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using ...

  3. Linux安装Oracle 11G过程(测试未写完)

    一.简介 Oracle数据库在系统运维中的重要性不言而喻,通过熟悉Oracle的安装来加深对操作系统和数据库知识的了解.Linux安装Oracle前期修改linux内核参数很重要,其实就是linux下 ...

  4. 【RAC】 RAC For W2K8R2 安装--dbca创建数据库(七)

    [RAC] RAC For W2K8R2 安装--dbca创建数据库(七) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...

  5. linux安装oracle11g

    准备oracle安装文件 Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SS ...

  6. Symantec Backup Exec 2012 Agent For Linux安装

    Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...

  7. Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)

    Oracle 11.2.4.0 ADG 单实例安装(COPY创建备库) 规划: 主: OS: Linux Centos 6.5 X64 hostname:ORA11G-DG1 ipaddress:19 ...

  8. RedHat Linux 安装oracle11g

    1.准备oracle安装文件Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过S ...

  9. linux 安装oracle 11g

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  10. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

随机推荐

  1. Vue(10)——Vue组件二(data选项、局部组件、组件通信)

    Vue组件二--data选项.局部组件.组件通信 data选项 data选项用于储存组件数据 与实例data差别 必须存储在有返回值的函数当中 数据设置在返回值对象里 1.方式一 data:funct ...

  2. 大模型应用开发进阶篇:Spring-AI 结合领域驱动开发设计思想

    ​  概要 本文聚焦如何使用spring-AI来开发大模型应用一些进阶技能,包含一套可落地的技术设计模式,读完你将会学习到: 如何使用Spring-AI 开发大模型对话应用 如何综合设计一套适用Spr ...

  3. Axure RP仿网易游戏装备饰品APP平台保真交互原型rp源文件

    Axure RP仿网易游戏装备饰品APP平台保真交互原型rp源文件包含以下几个模块: 1.登录和完善信息:绑定steam.获取交易链接.公开设置 2.首页部分:热门关注.数据.热门关注.数据榜.特殊磨 ...

  4. 探索Rust:深入了解结构体和枚举的用途与高级功能

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  5. RPC实战与核心原理之分布式环境下如何快速定位问题

    分布式环境下如何快速定位 回顾 如何建立可靠的安全体系,关键点就是"鉴权",我们可以通过统一的鉴权服务动态生成秘钥,提高 RPC 调用的安全性. 分布式环境下定位问题有哪些困难 举 ...

  6. (Pytorch第三天)复制官网教程程序遇到的一系列报错

    先说一下,我之前没学过Python,但是鉴于我是一名c语言高手(雾),我决定现学现用. 首先是https://pytorch.org/tutorials/beginner/basics/optimiz ...

  7. 通用jar包部署脚本

      在<Linux下部署Spring Boot 项目 jar包>中,小编介绍了一步一步发布jar包的方法,这里提供一个通用Shell脚本,傻瓜式发布Spring Boot项目.   通过W ...

  8. ActiveMQ消息投递方式+死信队列

    死信队列 死信队列(Dead Letter Queue,DLQ),用来保存处理失败或者过期的信息.出现以下情况的时候,消息会被重发: 在一个事务session中调用了session.rollback( ...

  9. javascript定义函数后立即执行(IIFE)

    Talk is cheap, show me the code. // Immediately Invoked Function Expression - IIFE // 定义后立即执行的JavaSc ...

  10. Kerberos身份验证在ChunJun中的落地实践

    Kerberos,在古希腊神话故事中,指的是一只三头犬守护在地狱之门外,禁止任何人类闯入地狱之中. 那么在现实中,Kerberos指的是什么呢? 一.Kerberos介绍 01 Kerberos是什么 ...