具体是这样的,我们现在在开发一个项目,其中有个功能是将用户填写的报表在线生成pdf下载,是通过流直接输出到用户的电脑里,服务器上不会存在生成的pdf文件,但是现在有一个问题,因为pdf文件页数是不确定的,所以在每一页加水印现在无法实现,请问怎样弄才能实现这一功能?我之前的思路是这样的,在生成pdf的java代码最后加个循环,通过得到document的页数然后用pdfContentByte在每一页加水印,但是我没找到可以定位到第几页的方法。部分代码:JavacoderesponsesetContentType(\"text/html;charset=GBK\");responsesetContentType(\"application/pdf\");responsesetHeader(\"Content-Disposition
可以做到!1、用虚拟打印机技术。其实系统就带这个功能呢!自己百度吧!把虚拟打印机保存下来的文件出国去就可以打印,但打印的估计还是有变形的现象
2、用编辑工具编辑后再保存虚拟打印机文件或者直接保存问合适的网页文件或者pdf之类的易传播和打印的文件
3、用wps或者word这样的文档编辑工具。全选你所打印网页的内容,复制到工具中,调整、重新排版。保存为doc文件。这样就不存在问题吧!至于如果复制到word中我就不多讲了,不会可以百度去
4、截图。现在截图工具很方便的。如果用QQ了,或者类似360浏览器这样的工具,截图就不用说了吧。会吧。截图复制到word中,调整、排版,重复3的过程。
完毕
当然还有其他的办法。 首先从iText的官网下载这个开源的小组件。
iText官方网站
Java版iText组件
Java版工具包
C#版iText组件
C#版工具包
这里笔者使用的是Java版itext-521。
将itext-521zip压缩包解压缩后得到7个文件:itextpdf-521jar(核心组件)、itextpdf-521-javadocjar(API文档)、itextpdf-521-sourcesjar(源代码)、itext-xtra-521jar、itext-xtra-521-javadocjar、itext-xtra-521-sourcesjar
使用5步即可生成一个简单的PDF文档。
复制代码
1 // 1创建 Document 对象
2 Document _document = new Document();
3 // 2创建书写器,通过书写器将文档写入磁盘
4 PdfWriter _pdfWriter = PdfWritergetInstance(_document, new FileOutputStream("生成文件的路径"));
5 // 3打开文档
6 _documentopen();
7 // 4向文档中添加内容
8 _documentadd(new Paragraph("Hi"));
9 // 5关闭文档
10 _documentclose();
复制代码
OK,搞定,不出问题的话就会在你指定的路径中生成一个PDF文档,内容是纯文本的“Hi”。
可是这样并不能完全满足我们的需求,因为通常我们要生成的PDF文件不一定是纯文本格式的,比如我现在要实现打印销售单的功能,那么最起码需要绘制表格才行,怎么办呢?且跟笔者继续向下研究。
在iText中,有专门的表格类,即PdfPTable类。笔者做了一个简单的表格示例,请先看代码:
复制代码
1 OutTradeList _otl = thisgetOtlBiz()findOutTradeListById(thisgetOtlid());
2 String _fileName = _otlgetOtlId() + "pdf";
3
4 // iText 处理中文
5 BaseFont _baseFont = BaseFontcreateFont("STSongStd-Light", "UniGB-UCS2-H", true);
6 // 1创建 Document 对象
7 Document _document = new Document(PageSizeA4);
8
9 >
打开浏览器,打开需要转换为PDF文件的页面后点击“文件”选项。单击“打印”选项,打印机选项需要选择PDF选项。设置完成后单击“保存”并设置保存路径后点击“保存”即可。
PDF是Portable Document Format的简称,意为“可携带文档格式”,是由Adobe Systems用于与应用程序、 *** 作系统、硬件无关的方式进行文件交换所发展出的文件格式。
PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。
可移植文档格式是一种电子文件格式。这种文件格式与 *** 作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS *** 作系统中都是通用的。
这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件在开始使用PDF格式文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)