小编典典

虽然该问题的答案中给出的建议有效,但这并不是您可以获得的最佳建议。如果我早些时候看过您的原始问题,我将以不同的方式回答。我会建议您使用页面事件,如PageBackgrounds示例中那样。

在此示例中,我为页面1和2创建蓝色背景,为所有后续偶数页面创建灰色背景。参见page_backgrounds.pdf

如何实现的?好吧,使用与我对这个相关问题的回答相同的技术:如何使用iText库5.5.2为整个pdf页面绘制边框

我创建这样的页面事件:

public class Background extends PdfPageEventHelper {

@Override

public void onEndPage(PdfWriter writer, Document document) {

int pagenumber = writer.getPageNumber();

if (pagenumber % 2 == 1 && pagenumber != 1)

return;

PdfContentByte canvas = writer.getDirectContentUnder();

Rectangle rect = document.getPageSize();

canvas.setColorFill(pagenumber < 3 ? BaseColor.BLUE : BaseColor.LIGHT_GRAY);

canvas.rectangle(rect.getLeft(), rect.getBottom(), rect.getWidth(), rect.getHeight());

canvas.fill();

}

}

如您所见,我首先检查页码。如果它是一个奇数并且不等于1,我什么也不会做。

但是,如果我在第1页或第2页上,或者页码是偶数,则从中获取内容writer,而从中获取页面尺寸document。然后,将填充颜色设置为蓝色或浅灰色(取决于页码),然后为覆盖整个页面的矩形构造路径。最后,我用填充颜色填充该矩形。

现在我们有了自定义Background事件,我们可以像这样使用它:

PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));

Background event = new Background();

writer.setPageEvent(event);

Background如果您需要其他行为,请随时适应课程。

2020-10-15

java实现pdf修改,或者在Java中使用iText pdf更改pdf页面的颜色相关推荐

  1. “PDF修改器 2.5.2.0[强大的免费PDF文件编辑软件]”乃是假冒软件

    日前发现网上有一款名为"PDF修改器",号称"绿色软件"."免费软件"的PDF编辑器,如图. 经查,此软件乃假冒软件.被假冒的软件是吕达嵘先 ...

  2. java在主程序修改函数输出,Java通过JNI调用CUDA

    --NG 这段时间因为工作需要,要用到在java中调用cuda程序,但是令人蛋疼的是网上这方面的资料几乎没有,所以只好我自己摸索.我的想法是通过java的JNI接口调用cuda,但是很明显正常情况下是 ...

  3. java 文件的修改_使用java来修改文件内容

    我需要就地修改文件的特定内容. 我不想创建一个新文件并重写旧文件.文件也很小,每个最大只有几MB. 对于那些想知道的人(虽然我不确定这是否与OP有关),我需要修改属于版本控制的文件并需要修改只读版本. ...

  4. java使用jna修改桌面_java - Java JNA获取桌面项目位置 - 堆栈内存溢出

    问题是com.sun.jna.Native.getNativeSize(Class)不是在这种情况下使用的正确函数. 使用32位JVM时,问题是可见的(64位虚拟机不可见). 对于结构,上面提到的函数 ...

  5. java读取并修改xml文件

    java读取并修改xml文件 java如何读取xml并且修改xml文件呢?代码如下: //复制模板xnl File file = new File(xmlSavePath + "/mb.xm ...

  6. java pdf 用系统字体大小_java 用itext设置pdf纸张大小操作_Java_软件编程

    做快递面单打印模板,快递要求纸张大小100 x 150mm. PageSize.A4=595 x 842 A4尺寸=210mm×297mm 故设置纸张大小: public static final R ...

  7. java 修改pdf_java中利用itext编辑pdf

    最近项目需要,在调研如何在pdf中增加标识字样,用来区分版本.最后确定用itext来实现. itext的官网是:http://www.itextpdf.com/ 代码如下: Java代码 /** * ...

  8. 想在Java中把PPT转化为PDF吗?教你用Aspose.Slides轻松搞定!

    PDF已成为最广泛和最常用的数字文档格式.由于PDF格式具有固定的布局,因此大多数文档在共享之前都已转换为PDF. 在将各种文档转换为PDF格式的过程中,PPT到PDF的转换是一种流行的用例,且非常的 ...

  9. java swing 帮助文档,在Java Swing应用程序中创建在线帮助-使用pdf用户文档

    我正在尝试将一些用户文档链接到我的Java Swing应用程序.用户文档是pdf,我希望能够在应用程序中单击一个按钮,该按钮会打开某种pdf渲染器以显示我的userdoc.pdf. 我不想使用运行时e ...

最新文章

  1. ARKit 与 ARCore比对(三)
  2. MySQL_update同一张表
  3. PowerDesigner脚本使用记录
  4. python连接高斯数据库_Python加载数据并执行多高斯fi
  5. OpenCV极变换polar transforms的实例(附完整代码)
  6. 分区表需要数据备份吗oracle,Oracle 分区表数据的导入与导出(1)
  7. 主函数main中变量(int argc,char *argv[ ])的含义
  8. poj 3660(floyd 变形)
  9. Java笔记-以系统时间为基准15分钟运行一次指定代码
  10. 用机器学习拯救“智障”聊天机器人,谷歌开放分析平台Chatbase
  11. [蓝桥杯]PREV-12.历届试题_危险系数
  12. new和delete运算符
  13. Protel 格式网表转换 Allegro 格式网表的 Skill 程序
  14. 【简历模板】网站推荐
  15. 无线通信设备安装工程概预算编制_南宁市轨道交通5号线一期工程专用无线通信系统设备采购...
  16. 爬动漫“上瘾”之后,放弃午休,迫不及待的用Python薅了腾Xun动漫的数据,啧啧啧
  17. 仓央嘉措不负如来不负卿
  18. 电脑配置学习(台式机)
  19. photoshop基本的操作
  20. 区域/AZ以及AWS各类服务级别

热门文章

  1. 小米机器人滚轮清理_小米系发布集尘扫地机:一月一清理不用倒垃圾
  2. 0-3-TyporaMarkdown语法
  3. 0xC015000F 正在被停用的激活上下文不是最近激活的”错误解决方法
  4. #50. 【模板】树状数组2
  5. 电脑双显示器切换到单显示器后,软件窗口不能显示的问题
  6. 樊代明院士快手直播寄语高考学子:“学医吧,恰逢其时!”
  7. 撸了个商城系统,已在Github上开源了,快来看看吧!
  8. 数学机器人今日对全国考生说了什么?
  9. wps html嵌入ppt,WPS怎么给PPT快速嵌入需要的字体
  10. 2018上海国际工业自动化及机器人展览会