C#实现生成PDF(1)-PDF Object

来源:互联网 发布:捷克38t 知乎 编辑:程序博客网 时间:2024/05/21 08:35

使用支持面向对象的语言编写能生成PDF文档的程序是一件很惬意的事,因为PDF文档本身就是由许多对象组成。了解这些对象的描述和组织方式,生成基本的PDF文档也就易如反掌。

PDF对象有如下几种类型:
  Boolean values
  Integer and real numbers
  Strings
  Names
  Arrays
  Dictionaries
  Streams
  The null object

首先我们来看如何定义一个对象。一个对象以object number+generation number+"obj"开头,以“end obj”结尾,object number是一个正整数的对象号,可以说是这个对象的ID,这个ID必须是唯一的,generation number是一个非负的整数,表示这个对象的版本,我们不需要过多关注它,设为0即可。例如:
  8 0 obj
    99
  endobj
表示的就是一个整数对象,值为99。
PDF文档并不关心对象定义时的顺序,就像很多程序设计语言并不关心变量声明的顺序,我们可以先定义一个object number为9的字符串“b",再定义一个object number为3的字符串“a",再定义一个object number为6的字符串“c",而在显示时先显示a,然后b,然后c。这就是说,显示上相同的PDF可能描述和组织上大相庭径。

引用一个对象用object number+generation number+"R",例如要引用我们上面定义的整数对象:8 0 R。当引用的对象不存在时,将返回一个null object。

我们来定义一个PDF Object的基类: 

原创粉丝点击