如何在使用itext生成pdf文档时给文档添加背景图片

这个问题我在网上搜了很久,没有找到什么解决方案,需求其实很简单,就是添加背景图片。在解决这个问题之前,我们需要了解什么是背景图片?背景图片就是位于文档最底层的图片,文字和其他内容可以浮在它的上面。这又分为两种情况,一是局部的背景图片,一是全局的背景图片。局部的背景图片一般很少遇到,这里我要加的是整体上的一个背景图片。它往往是一些单纯的颜色图片,跟网页的背景图片一样。所以怎么做?我突发奇想,just do it,把图片加进去再说,试试居然成功了,很简单,像往常一样将图片加载到文档即可,只不过,要将图片缩放到整个文档,换句话说,图片的初始位置是 0,0大小就是文档的大小,比如你创建A4纸大的文档,图片就应该缩放到大小(595,842),其他的纸张可以去网上查。示例代码如下:

Document tDoc = new Document(PageSize.A4, 50, 50, 50, 50); //创建文档
PdfWriter tWriter = PdfWriter.getInstance(tDoc, new FileOutputStream(mFileFullPath.toString())); //创建写入流
tWriter.setEncryption(null,"1".getBytes(), PdfWriter.ALLOW_SCREENREADERS|PdfWriter.ALLOW_PRINTING,PdfWriter.STANDARD_ENCRYPTION_128); //加密
tDoc.open();  //打开文档
Image tImgCover = Image.getInstance(mImgPath+"cover.jpg");
   /* 设置图片的位置 */
   tImgCover.setAbsolutePosition(0, 0);
   /* 设置图片的大小 */
   tImgCover.scaleAbsolute(595, 842);
   tDoc.add(tImgCover);             //加载图片

效果图如下:泛黄的就是背景图片,而文字是用程序打上去的,浮在背景之上(图一)。而其他的小图(比如盖章)一样可以浮在上面(图二)。

                (图一)

如何在使用itext生成pdf文档时给文档添加背景图片

             (图二)

如何在使用itext生成pdf文档时给文档添加背景图片

上一篇:[poj2104] K-th Number (主席树)


下一篇:Hadoop入门第二篇-MapReduce学习