- 浏览: 79804 次
- 性别:
- 来自: 重庆
最新评论
-
禀圣含华:
怎么弄空格呢?___________然后我固定这些空格,怎么弄 ...
第18章. iText PDF 生成 -
super0555:
managed
第13章 Seam 应用程序框架 -
Javakeith:
代码呢?共享下代码呗!
第18章. iText PDF 生成 -
tonyshen277:
同感啊。还在做Win32下的开发,楼主所说的一个都不能少啊。
转自baidu wqqq 给软件开发初学者 -
kdboy:
的确,把人放在宇宙中去看,从上帝的眼中去看,人的确是非常渺小, ...
人生是什么
第18章. iText PDF 生成
18.1. 使用PDF支持
18.1.1. 创建一个文档
18.1.2. 基本的文本元素
18.1.3. 页眉和页脚
18.1.4. 章节
18.1.5. 列表
18.1.6. 表格
18.1.7. 文档常量
18.2. 图表
18.3. 条形码
18.4. 填写表单
18.5. 渲染Swing/AWT组件
18.6. 配置iText
18.7. 进一步的文件
Seam现在包括了一个生成iText文档的组件集。 Seam的iText文档主要是关注对PDF文档生成的支持, 但是Seam 也提供对RTF文档生成的基本支持。
18.1. 使用PDF支持
jboss-seam-pdf.jar提供iText支持。这个JAR包含iText JSF控件, 它被用来构建能渲染PDF的视窗,并且DocumentStore 组件,它提供渲染文档给用户。为在你的应用程序中包含PDF支持,jboss-seam-pdf.jar 连同iText JAR 一起包含在你的WEB-INF/lib 目录中。为使用Seam的iText支持不需要更进一步的配置。
Seam iText模块需要用Facelets作为视窗技术来使用。未来的库版本可能也支持JSP使用。另外,它需要seam-ui 包的使用。
examples/itext项目在实践中包含了一个PDF支持的例子。 它示范了正确的部署包,并且它包含一些例子,示范了目前支持的PDF生成的关键特性。
18.1.1. 创建一个文档
<p:document> |
描述 文档是由namespacefacelet XHTML文件利用了在http://jboss.com/products/seam/pdf命名空间中的标签生成。文档应该总是在文档的根结点有document标签。document标签为Seam生成一个文档到文档库和渲染一个HTML重定向到库内容做准备。 属性:
元数据属性
用法 <p:document xmlns:p="http://jboss.com/products/seam/pdf"> The document goes here. </p:document> |
18.1.2. 基本的文本元素
有用的文档需要包含的不仅仅是文本。然而,标准的UI组件是面向HTML生成的,并不利于生成PDF内容。作为替换,Seam提供了一种特殊的UI组件为生成适当的PDF内容。 如<p:image> 和 <p:paragraph>标签是简单文档的基础。如 <p:font>标签给围绕它们的所有内容都提供了字体信息。
<p:paragraph> |
描述 为了文本片能以逻辑组方式布局、格式化、样式化,大部分使用的文本被分成段落。 属性
用法 <p:paragraph alignment="justify"> This is a simple document. It isn't very fancy. </p:paragraph>
|
<p:text> |
描述 text 标签允许根据使用了标准的JSF转换机制的应用程序数据产生文本片段。它是非常类似于在渲染HTML文档时使用的 outputText 标签。 属性
用法 <p:paragraph> </p:paragraph> |
<p:html> |
描述 html标签渲染HTML内容成PDF。 属性 值 — 显示的文本。 用法 <p:html value="This is HTML with <b>some markup</b>." /> <p:html> </p:html> |
<p:font> |
描述 font标签为它内部的所有文本定义要使用的默认字体。 属性
用法 <p:font name="courier" style="bold" size="24"> |
<p:newPage> |
描述
用法 <p:newPage /> |
<p:image> |
描述
资源也能由应用程序代码动态生成。 属性 · · · · · · · · · · · · · · · · 用法 <p:image value="/jboss.jpg" /> <p:image value="#{images.chart}" /> |
<p:anchor> |
描述
属性 · · 用法 <p:listItem><p:anchor reference="#reason1">Reason 1</p:anchor></p:listItem> <p:anchor name="reason1">It's the quickest way to get "rich"</p:anchor> </p:paragraph> |
18.1.3. 页眉和页脚
<p:header> <p:footer> |
描述 p:header 和 p:footer 组件提供了将页眉和页脚文本放在生成文档的每个页面上的能力。除了第一个页面之外。页眉和页脚声明应该显示在文档的顶部。 属性
<p:facet name="header"> |
<p:pageNumber> |
描述 使用 p:pageNumber 标签能够把当前页码放到页眉或者页脚的内部。 页码标签只能用在页眉或者页脚的上下文中,并且只能使用一次。 用法
<p:footer borderWidthTop="1" borderColorTop="blue" borderWidthBottom="0" alignment="center"> Why Seam? [<p:pageNumber />] </p:footer> |
18.1.4. 章节
<p:chapter> <p:section> |
描述 如果产生的文档追求书/文章的结构,p:chapter 和 p:section标签能被用来提供必要的结构。 节只能用在章内,然而它们能任意深度地嵌套。大部分PDF阅读器在文档的章节间提供容易的导航 属性
用法 <p:document xmlns:p="http://jboss.com/products/seam/pdf" title="Hello"> <p:chapter number="1"> <p:title><p:paragraph>Hello</p:paragraph></p:title> <p:paragraph>Hello #{user.name}!</p:paragraph> </p:chapter> <p:chapter number="2"> <p:title><p:paragraph>Goodbye</p:paragraph></p:title> <p:paragraph>Goodbye #{user.name}.</p:paragraph> </p:chapter> </p:document> |
<p:header> |
描述 任何章或节可以包含一个p:title。 标题会紧挨着章/节数显示。标题的主体可以包含原始文本或是一个p:paragraph。 |
18.1.5. 列表
列表结构可以使用p:list 和 p:listItem 标签显示。列表里可以包含任意嵌套的子列表。列表项不能用在列表的外面。下面的文档使用ui:repeat标签显示取自一个Seam组件的值的列表。
<p:document xmlns:p="http://jboss.com/products/seam/pdf"
xmlns:ui="http://java.sun.com/jsf/facelets"
title="Hello">
<p:list style="numbered">
<ui:repeat value="#{documents}" var="doc">
<p:listItem>#{doc.name}</p:listItem>
</ui:repeat>
</p:list>
</p:document>
<p:list> |
属性
用法 <p:list style="numbered"> <ui:repeat value="#{documents}" var="doc"> <p:listItem>#{doc.name}</p:listItem> </ui:repeat> </p:list> |
<p:listItem> |
描述 p:listItem 支持以下属性: 属性
用法 ... |
18.1.6. 表格
使用p:table和 p:cell标签可以创建表结构。 不象其他表结构,没有明确的行声明。如果一个表有三列,那么每三个单元格会自动形成一行。页眉和页脚行可以声明,并且在活动的一个表结构横跨多个页面,它们会被重复。
<p:table> |
描述 p:table 支持以下属性。 属性
用法
<p:table columns="3" headerRows="1"> <p:cell>name</p:cell> <p:cell>owner</p:cell> <p:cell>size</p:cell> <ui:repeat value="#{documents}" var="doc"> <p:cell>#{doc.name}</p:cell> <p:cell>#{doc.user.name}</p:cell> <p:cell>#{doc.size}</p:cell> </ui:repeat> </p:table> |
<p:cell> |
描述 p:cell 支持下面的属性。 属性
用法 <p:cell>...</p:cell> |
18.1.7. 文档常量
本节评述了在多数标签上的属性所共享的一些常量
18.1.7.1. 颜色值
Seam文档还不支持全彩色规格。目前,仅支持命名颜色。它们是: white, gray, lightgray, darkgray, black, red, pink(粉红), yellow, green, magenta(洋红), cyan(青色) 和 blue。
18.1.7.2. 对齐值
在对齐值使用的地方,Seam PDF 支持下面的水平对齐值: left, right, center, justify 和 justifyall。 垂直对齐值: top, middle, bottom, 和 baseline。
18.2. 图表
使用jboss-seam-pdf.jar也提供对图表的支持。图表可以使用在PDF文档中,或者作为一图象使用在HTML页面。图表需要JFreeChart库(jfreechart.jar 和 jcommon.jar)被添加到WEB-INF/lib库目录。目前支持三种类型的图表:pie charts(饼状图表), bar charts(柱状图表)和 line charts(线状图表)。
<p:barchart> |
描述 显示一个柱状图表。 属性
用法
<p:barchart title="Bar Chart" legend="true" width="500" height="500"> <p:series key="Last Year"> <p:data columnKey="Joe" value="100" /> <p:data columnKey="Bob" value="120" /> </p:series> <p:series key="This Year"> <p:data columnKey="Joe" value="125" /> <p:data columnKey="Bob" value="115" /> </p:series> </p:barchart> |
<p:linechart> |
描述 显示一个线状图表。 属性
用法 <p:linechart title="Line Chart" width="500" height="500"> <p:series key="Prices"> <p:data columnKey="2003" value="7.36" /> <p:data columnKey="2004" value="11.50" /> <p:data columnKey="2005" value="34.625" /> <p:data columnKey="2006" value="76.30" /> <p:data column
|
相关推荐
在Java编程中,生成Microsoft Word文档是一项常见的任务,特别是在企业级应用中,如报表生成、自动化文档处理等。本文将详细讲解如何使用iText库来创建2003格式的Word文档,即`.doc`文件。iText是一个流行的Java库,...
在《iText in Action》第二版书中,作者Bruno Lowagie介绍了如何利用iText这一强大的Java库来创建和操作PDF文档。本书覆盖了iText 5版本,并通过众多实例深入浅出地讲解了各个方面的知识点。 ##### 1.1 PDF基础知识...
- **第十一章至第十八章:交互式 PDF**:这部分章节将深入探讨如何创建交互式的 PDF 文档,包括表单填写、注释添加、签名等功能,以及 iText 在 Web 应用中的集成方式。 #### 五、总结 通过上述内容可以看出,...
asp.net生成PDF详解 asp.net生成PDF PDF详解 用C#制作PDF文件全攻略 丽水市汽车运输集团有限公司信息中心 苟安廷 目 录 前 言 3 第一部分 iText的简单应用 4 第一章 创建一个Document 4 第一步 创建一个Document实例...
Paragraph title = new Paragraph("PDF文档标题", new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD)); title.Alignment = Element.ALIGN_CENTER; document.Add(title); // 添加正文 Paragraph paragraph = new ...
1.2. 第一个例子:注册示例.............................................................................................................................................. 15 1.2.1. 了解代码.................
- **底层实现原理**(第18章):对于那些对iText内部实现感兴趣的技术人员来说,本书的最后一部分介绍了更多关于PDF文件结构和技术细节的信息。这有助于更深入地理解iText是如何工作的,同时也为开发者提供了更多的...
用C#制作PDF文件全攻略 目 录 前 言 3 第一部分 iText的简单应用 4 第一章 创建一个Document 4 第一步 创建一个Document实例: 5 第二步 创建Writer实例 6 第三步 打开Document 6 ...第十二章 页面和表格事件 34
IText是一款广泛应用于Java和.NET平台的开源库,主要用于创建和修改PDF文档,但同时也支持创建Word文档。在这个例子中,我们将深入探讨如何利用IText库来导出Word文档,以便于在各种场合下生成定制化的报告、合同或...
生成支持中文的PDF还可能涉及其他技术,例如在Java中使用iText库,或者在Python中使用PyFPDF或WeasyPrint等库。这些库都有类似的方法来处理中文字符,关键在于正确配置字体和编码。 在实际应用中,开发者还需要考虑...
itextsharp文件外加在网上下的一个制作表格的案例 第一部分 iText的简单应用 第一章 创建一个Document 第一步 创建一个Document实例: 第二步 创建Writer实例 第三步 打开Document ...第十二章 页面和表格事件
实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 209 实例140 按顺序创建文件 210 实例141 按顺序读取文件 211 实例142 追加文件内容 211 实例143 只显示文件中指定的字符 214...
#### 第一部分 iText的简单应用 **一、创建一个Document** 在本节中,我们将详细介绍如何利用iText库在C#中创建PDF文档。 ##### 第一步:创建Document实例 为了创建一个新的PDF文档,我们需要首先创建一个`...
PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可...
在Java中生成PDF文件通常使用iText库,这是一个强大的PDF处理库,允许开发者创建、修改和合并PDF文档。在这个实例中,我们看到了如何使用iText的基本功能来创建和编辑PDF。 1. **Document对象**:`Document` 是...