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

    生成结果:

  • 相关阅读:
    理解inode
    贝叶斯公式与拼写检查器
    《C程序设计语言》第四章 函数和程序结构
    MIT《计算机科学与编程导论》课堂笔记
    很牛的牛顿迭代法
    开发一个小工具重温C#经典问题
    斯坦福《编程方法学》环境搭建及常见问题
    看Sybase官方手册学索引工作原理
    学习编程的方法、软件和工具
    大师里奇留给了我们什么
  • 原文地址:https://www.cnblogs.com/BeInNight/p/14241960.html
Copyright © 2011-2022 走看看