zoukankan      html  css  js  c++  java
  • 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}
    ", 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}
    ", 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:
    ");
    102                 Console.WriteLine("[{0}] {1}: {2}
    ", 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

    生成结果:

  • 相关阅读:
    Linux编程 22 shell编程(输出和输入重定向,管道,数学运算命令,退出脚本状态码)
    mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)
    mysql 开发进阶篇系列 45 物理备份与恢复(xtrabackup 安装,用户权限,配置)
    mysql 开发进阶篇系列 44 物理备份与恢复( 热备份xtrabackup 工具介绍)
    Linux编程 21 shell编程(环境变量,用户变量,命令替换)
    Linux编程 20 shell编程(shell脚本创建,echo显示信息)
    mysql 开发进阶篇系列 43 逻辑备份与恢复(mysqldump 的基于时间和位置的不完全恢复)
    Linux编程 19 编辑器(vim 用法)
    (网页)angularjs中的interval定时执行功能(转)
    (网页)在SQL Server中为什么不建议使用Not In子查询(转)
  • 原文地址:https://www.cnblogs.com/BeInNight/p/14241960.html
Copyright © 2011-2022 走看看