PDFLib使用Demo

本Demo使用PDFLib9.3版

 

  1 static void Main(string[] args)
  2         {
  3             PDFlib p = null;
  4             /* 这就是数据文件所在的位置。根据需要进行调整。 */
  5             string searchpath = "../../data";
  6             //图片资源
  7             int image;
  8             string imagefile = "xiaopeng.png";
  9             try
 10             {
 11                 p = new PDFlib();
 12 
 13                 // This means we must check return values of load_font() etc.
 14                 p.set_option("errorpolicy=return");
 15 
 16                 // 设置文件搜索路径
 17                 p.set_option("SearchPath={{" + searchpath + "}}");
 18 
 19                 if (p.begin_document("hello.pdf", "") == -1)
 20                 {
 21                     Console.WriteLine("Error: {0}\n", p.get_errmsg());
 22                     return;
 23                 }
 24                 //设置文件信息
 25                 p.set_info("Creator", "BeInNight");
 26                 p.set_info("Author", "BeInNight");
 27                 p.set_info("Title", "PDFDemo");
 28 
 29                 //开始一页
 30                 p.begin_page_ext(0, 0, "width=a4.width height=a4.height");
 31 
 32                 //设置字体
 33                 string titlefontopt =
 34                     "fontname=微软雅黑 encoding=unicode fontsize=24";
 35                 string titleOnefontopt =
 36                     "fontname=微软雅黑 encoding=unicode fontsize=16";
 37                 string fontopt =
 38                     "fontname=宋体 encoding=unicode fontsize=12";
 39 
 40                 int contenty = 750, lineheight = 13, titlelineheight = 17;
 41 
 42                 p.fit_textline("用户服务协议", 215, 800, titlefontopt);
 43                 p.fit_textline("尊敬的用户,欢迎您使用“电信网上营业厅”网站(网址:www.189.cn,简称“本网站”)。", 15, contenty, fontopt); contenty = contenty - lineheight;
 44                 p.fit_textline("本网站由中国电信股份有限公司电子渠道运营中心(简称“中国电信”或“我们”)所有和运营。在登录、", 15, contenty, fontopt); contenty = contenty - lineheight;
 45                 p.fit_textline("使用本网站之前,您应当仔细阅读、充分理解《用户服务协议》(简称“本协议”)的全部内容,特别是本", 15, contenty, fontopt); contenty = contenty - lineheight;
 46                 p.fit_textline("或使用本网站;您开始登录或使用本网站,即表明您已同意本协议内容,本协议即构成对用户和中国电信(", 15, contenty, fontopt); contenty = contenty - lineheight;
 47                 p.fit_textline("合称“双方”)有约束力的法律文件。", 15, contenty, fontopt); contenty = contenty - lineheight;
 48 
 49                 contenty = contenty - 10;
 50                 p.fit_textline("第一条 定义", 15, contenty, titleOnefontopt); contenty = contenty - titlelineheight;
 51                 p.fit_textline("1.1 本网站:是指由中国电信股份有限公司电子渠道运营中心所有并负责运营的“电信网上营业厅”网站(", 15, contenty, fontopt); contenty = contenty - lineheight;
 52                 p.fit_textline("网址:www.189.cn)。", 15, contenty, fontopt); contenty = contenty - lineheight;
 53                 p.fit_textline("1.2 所有权以及相关的权利:在本协议中是指:第一,所有权;第二,知识产权,包括但不限于著作权、专", 15, contenty, fontopt); contenty = contenty - lineheight;
 54                 p.fit_textline("利权、商标权、商业秘密等;第三,除上述权利之外的对物、信息及其载体和表现形式的使用、利用、传播", 15, contenty, fontopt); contenty = contenty - lineheight;
 55                 p.fit_textline("、复制、发行、编辑、修改、处分等权利。", 15, contenty, fontopt); contenty = contenty - lineheight;
 56                 p.fit_textline("1.3 用户:是指接受本网站服务的自然人、法人或其他组织。", 15, contenty, fontopt); contenty = contenty - lineheight;
 57                 p.fit_textline("1.4 个人信息:在本协议中,是指以电子或者其他方式记录的能够单独或者与其他信息结合识别用户身份或", 15, contenty, fontopt); contenty = contenty - lineheight;
 58                 p.fit_textline("者反映用户活动情况的各种信息。", 15, contenty, fontopt); contenty = contenty - lineheight;
 59                 p.fit_textline("1.5 网络服务:是指本网站基于互联网方式向用户提供的业务宣传、业务查询、业务办理、交费充值、商品", 15, contenty, fontopt); contenty = contenty - lineheight;
 60                 p.fit_textline("交易、用户关怀、营销活动等服务。", 15, contenty, fontopt); contenty = contenty - lineheight;
 61                 p.fit_textline("1.6 基础电信服务:是指中国电信向用户提供的公共网络基础设施、公共数据传送、基本话音通信服务等服", 15, contenty, fontopt); contenty = contenty - lineheight;
 62                 p.fit_textline("务,包括但不限于移动通信服务、宽带服务等。", 15, contenty, fontopt); contenty = contenty - lineheight;
 63                 p.fit_textline("1.7 平台内经营者:是指除中国电信以外的、通过本网站销售商品或者提供服务的第三方经营者。", 15, contenty, fontopt); contenty = contenty - lineheight;
 64 
 65                 contenty = contenty - 10;
 66                 p.fit_textline("第二条 网络服务内容", 15, contenty, titleOnefontopt); contenty = contenty - titlelineheight;
 67                 p.fit_textline("1.1 本网站:是指由中国电信股份有限公司电子渠道运营中心所有并负责运营的“电信网上营业厅”网站(", 15, contenty, fontopt); contenty = contenty - lineheight;
 68                 p.fit_textline("网址:www.189.cn)。", 15, contenty, fontopt); contenty = contenty - lineheight;
 69                 p.fit_textline("1.2 所有权以及相关的权利:在本协议中是指:第一,所有权;第二,知识产权,包括但不限于著作权、专", 15, contenty, fontopt); contenty = contenty - lineheight;
 70                 p.fit_textline("利权、商标权、商业秘密等;第三,除上述权利之外的对物、信息及其载体和表现形式的使用、利用、传播", 15, contenty, fontopt); contenty = contenty - lineheight;
 71                 p.fit_textline("、复制、发行、编辑、修改、处分等权利。", 15, contenty, fontopt); contenty = contenty - lineheight;
 72                 p.fit_textline("1.3 用户:是指接受本网站服务的自然人、法人或其他组织。", 15, contenty, fontopt); contenty = contenty - lineheight;
 73                 p.fit_textline("1.4 个人信息:在本协议中,是指以电子或者其他方式记录的能够单独或者与其他信息结合识别用户身份或", 15, contenty, fontopt); contenty = contenty - lineheight;
 74                 p.fit_textline("者反映用户活动情况的各种信息。", 15, contenty, fontopt); contenty = contenty - lineheight;
 75                 p.fit_textline("1.5 网络服务:是指本网站基于互联网方式向用户提供的业务宣传、业务查询、业务办理、交费充值、商品", 15, contenty, fontopt); contenty = contenty - lineheight;
 76                 p.fit_textline("交易、用户关怀、营销活动等服务。", 15, contenty, fontopt); contenty = contenty - lineheight;
 77                 p.fit_textline("1.6 基础电信服务:是指中国电信向用户提供的公共网络基础设施、公共数据传送、基本话音通信服务等服", 15, contenty, fontopt); contenty = contenty - lineheight;
 78                 p.fit_textline("务,包括但不限于移动通信服务、宽带服务等。", 15, contenty, fontopt); contenty = contenty - lineheight;
 79                 p.fit_textline("1.7 平台内经营者:是指除中国电信以外的、通过本网站销售商品或者提供服务的第三方经营者。", 15, contenty, fontopt); contenty = contenty - lineheight;
 80 
 81                 p.fit_textline("2021年1月6日", 400, 150, titleOnefontopt);
 82 
 83                 //将图片画到pdf中
 84                 image = p.load_image("auto", imagefile, "");
 85                 if (image == -1)
 86                 {
 87                     Console.WriteLine("Error: {0}\n", p.get_errmsg());
 88                     return;
 89                 }
 90                 p.fit_image(image, 400, 100, "scale=0.3");
 91                 p.close_image(image);
 92 
 93                 p.end_page_ext("");
 94 
 95                 p.end_document("");
 96             }
 97 
 98             catch (PDFlibException e)
 99             {
100                 //捕获到PDFlib引发的异常
101                 Console.WriteLine("PDFlib exception occurred in hello sample:\n");
102                 Console.WriteLine("[{0}] {1}: {2}\n", e.get_errnum(),
103                         e.get_apiname(), e.get_errmsg());
104             }
105             finally
106             {
107                 if (p != null)
108                 {
109                     p.Dispose();
110                 }
111             }
112         }
View Code

 

生成结果:

 

posted @ 2021-01-06 16:41  BeInNight  阅读(294)  评论(0编辑  收藏  举报