c++ pdflib 生成中文内容
步骤一:新建控制台项目
步骤二:pdflib.lib和pdflib.dll放到指定位置和配置.lib引用信息
步骤三:增加对应的相应字体资源,这个是关键一步,pdf使用cmap进行资源映射,找到指定的字体,Adobe-GB1-UCS2是pdf中文字体标准库。
源码如下:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>#include "pdflib.h"int main(void)
{PDF *p = NULL;int i = 0, j = 0, Left = 50, Top = 800;int Font_E = 0;//字体/* create a new PDFlib object */if ((p = PDF_new()) == (PDF *)0){printf("Couldn''t create PDFlib object (out of memory)!\n");return(2);}PDF_set_parameter(p, "SearchPath", "../resource/cmap");//字体文件位置PDF_TRY(p){if (PDF_begin_document(p, "pdflib_cs1.pdf", 0, "") == -1){printf("Error: %s\n", PDF_get_errmsg(p));return(2);}PDF_set_info(p, "Creator", "pdflib_cs1.c");PDF_set_info(p, "Author", "123456");PDF_set_info(p, "Title", "Output Chinese Simplify with PDFlib builtin font");Font_E = PDF_load_font(p, "AdobeSongStd-Light-Acro", 0, "GB-EUC-H", "");//设置字体 STSong-Light/*Start a new page. */Top = 800;PDF_begin_page_ext(p, a4_width, a4_height, "");PDF_setfont(p, Font_E, 12);Top -= 30;PDF_set_text_pos(p, 50, a4_height - 50);// 设置颜色为蓝色PDF_setcolor(p, "fill", "rgb", 0, 0, 1, 0);// 输出文字PDF_show(p, "欢迎您!");PDF_setcolor(p, "fill", "rgb", 0, 0, 0, 0);PDF_setfont(p, Font_E, 24);PDF_continue_text(p, "在线杂志");// 画两根绿线PDF_setcolor(p, "stroke", "rgb", 0.24f, 0.51f, 0.047f, 0);PDF_moveto(p, 50, a4_height - 80);PDF_lineto(p, a4_width - 50, a4_height - 80);PDF_moveto(p, 50, a4_height - 78);PDF_lineto(p, a4_width - 50, a4_height - 78);PDF_stroke(p);// 填充一个蓝色方框PDF_setcolor(p, "fill", "rgb", 0.04f, 0.24f, 0.62f, 0);PDF_rect(p, 50, 50, a4_width - 100, 70);PDF_fill(p);// 在指定位置输出文字PDF_setcolor(p, "fill", "rgb", 0, 1, 1, 0);PDF_setfont(p, Font_E, 16);PDF_show_xy(p, "版权所有 123456", a4_width - 280, 60);/* End of page. */PDF_end_page_ext(p, "");/* for */PDF_end_document(p, "");}PDF_CATCH(p) {printf("PDFlib exception occurred in pdflib_cs1 sample:\n");printf("[%d] %s: %s\n",PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));PDF_delete(p);return(2);}PDF_delete(p);return 0;
}
运行效果:
参考文章:
https://blog.csdn.net/wzsda110/article/details/52024305
完整资源和代码下载路径:
https://download.csdn.net/download/xiao3404/10517624
c++ pdflib 生成中文内容相关推荐
- php生成随机汉字,PHP随机生成中文段落示例【测试网站内容时使用】
本文实例讲述了PHP随机生成中文段落.分享给大家供大家参考,具体如下: 在创建网站的时候,很多时候都需要输入一些中文的段落来填充页面,大多数会是找一些新闻之类的来复制粘贴. 以下代码是利用php来随机 ...
- c语言调用pdf文档,使用PDFLib生成PDF文档方法介绍(C语言版)
本文简单介绍了PDFLib生成PDF文档(C语言版)的基本使用方法. 1.基本环境 ① 打开.关闭.文档信息设定: 新建PDFLib对象,PDF_new() 设定错误处理的方式,PDF_set_par ...
- GLPI生成中文PDF报表
GLPI生成中文PDF报表 授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/434)的形式标明文章原始出处和作者信息及本声明. ...
- python删除中文停用词_python词云 wordcloud+jieba生成中文词云图
简介 Python+jieba+wordcloud+txt+gif生成动态中文词云 本文基于爬虫爬取某微信号三个月的文章为例,展示了生成中文词云的完整过程.本文需要的两个核心Python类库: jie ...
- PIL模块与随机生成中文验证码
今天我们要学习的内容是如何利用Python生成一个随机的中文验证码,并将图片保存为.jpeg格式. 在这之前,你首先得了解Python中的PIL库.PIL是Python Imaging Library ...
- 用C#生成中文汉字验证码的基本原理
用C#生成中文汉字验证码的基本原理 前几天去申请免费qq号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,moper上的猫儿们都大骂腾讯采用中文验证码.^_^ 我不得 ...
- Python生成中文词云图(二):不可指定词云特定的形状和颜色。
Python生成中文词云图(二):不可指定词云特定的形状和颜色. 什么是词云? 首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关 ...
- 客户需要生成中文拼音代码,分享PHP生成代码
用PHP生成中文拼音代码 以下为引用的内容: php代码: <?php class ChineseSpell { /** * @var array $chineseSpellList 拼音编码对 ...
- php 生成拼音缩写,用PHP生成中文拼音代码
推荐:PHP数据库备份类以下为引用的内容: php代码: ?php /******************************************************* **文 件 名:D ...
- js 利用Unicode码随机生成中文昵称
前言 网上前辈们分享的随机昵称生成方式,都是通过随机获取事先定义的数组内容进行组合来实现随机生成一个类似真名的数据(最近我做的一个项目需求中的,要求随机生成昵称但是不要真名),那这就有点蛋疼了,我总不 ...
最新文章
- 使用 OpenSSL 替代 Telnet
- DataGrid双向排序以及给HeaderText加图标
- 如何掌握平面设计中的减法思维
- 山寨版 颈椎病治疗秘籍
- CF1167F. Scalar Queries
- Spring计划列表
- 如何运用Python建立你的第一个Slack聊天机器人?
- java浏览器安全设置,主编练习win7系统运行java提示“您的安全设置已阻止不可信应用程序运行”的对策...
- java-OOP-抽象类和接口
- 聊聊我所从事过的通信行业
- 交互式电子杂志_XFlip Enterprise(电子杂志相册制作器)
- javascript前端导出Excel简单写法
- 计算机显示器使用的扫描方式,平板扫描仪怎么用 平板扫描仪使用方法【详解】...
- 你认为,做期货是基本面更有效还是技术面更有效?
- 伍鸣博士受邀出席徐汇区住房租赁市场研讨会
- mysql查询名字相同数据排列出来_mysql 的sql语句来查找重复数据,并让其都显示出来?...
- php|thinkphp程序合成图片+文字+图片大小调整+正方形转换圆角+去除白色边框
- 2020安徽省大学生程序设计大赛题解——E 收集圣物
- 赛车自行车什么牌子好辐轮王土拨鼠全世界碳纤维自行车品牌排行榜
- 《互联网时代》第四集 再构
热门文章
- Android游戏开发源码案例25个汇总
- linux系统移植篇(一)—— linux系统组成
- mysql regexp不支持_MySQL REGEXP正则表达式
- 示波器截取的波形图和数据CSV文件表,导入到MATLAB的simulink模型进行FFT分析,简单实用教程与示例
- python基于高德地图坐标拾取系统获取地址坐标
- Oracle 数据库安装教程(11g)
- N54L文件服务器,N54L安装群晖需要修改的硬件设置
- 通达信资金净流入公式_资金净流入(通达信)公式
- 贪吃蛇游戏设计(一)————游戏策划
- Windows Mobile 6 模拟器绿色中文版 - 在PC上模拟并运行智能手机的软件游戏