java实现pdf修改,或者在Java中使用iText pdf更改pdf页面的颜色
小编典典
虽然该问题的答案中给出的建议有效,但这并不是您可以获得的最佳建议。如果我早些时候看过您的原始问题,我将以不同的方式回答。我会建议您使用页面事件,如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页面的颜色相关推荐
- “PDF修改器 2.5.2.0[强大的免费PDF文件编辑软件]”乃是假冒软件
日前发现网上有一款名为"PDF修改器",号称"绿色软件"."免费软件"的PDF编辑器,如图. 经查,此软件乃假冒软件.被假冒的软件是吕达嵘先 ...
- java在主程序修改函数输出,Java通过JNI调用CUDA
--NG 这段时间因为工作需要,要用到在java中调用cuda程序,但是令人蛋疼的是网上这方面的资料几乎没有,所以只好我自己摸索.我的想法是通过java的JNI接口调用cuda,但是很明显正常情况下是 ...
- java 文件的修改_使用java来修改文件内容
我需要就地修改文件的特定内容. 我不想创建一个新文件并重写旧文件.文件也很小,每个最大只有几MB. 对于那些想知道的人(虽然我不确定这是否与OP有关),我需要修改属于版本控制的文件并需要修改只读版本. ...
- java使用jna修改桌面_java - Java JNA获取桌面项目位置 - 堆栈内存溢出
问题是com.sun.jna.Native.getNativeSize(Class)不是在这种情况下使用的正确函数. 使用32位JVM时,问题是可见的(64位虚拟机不可见). 对于结构,上面提到的函数 ...
- java读取并修改xml文件
java读取并修改xml文件 java如何读取xml并且修改xml文件呢?代码如下: //复制模板xnl File file = new File(xmlSavePath + "/mb.xm ...
- java pdf 用系统字体大小_java 用itext设置pdf纸张大小操作_Java_软件编程
做快递面单打印模板,快递要求纸张大小100 x 150mm. PageSize.A4=595 x 842 A4尺寸=210mm×297mm 故设置纸张大小: public static final R ...
- java 修改pdf_java中利用itext编辑pdf
最近项目需要,在调研如何在pdf中增加标识字样,用来区分版本.最后确定用itext来实现. itext的官网是:http://www.itextpdf.com/ 代码如下: Java代码 /** * ...
- 想在Java中把PPT转化为PDF吗?教你用Aspose.Slides轻松搞定!
PDF已成为最广泛和最常用的数字文档格式.由于PDF格式具有固定的布局,因此大多数文档在共享之前都已转换为PDF. 在将各种文档转换为PDF格式的过程中,PPT到PDF的转换是一种流行的用例,且非常的 ...
- java swing 帮助文档,在Java Swing应用程序中创建在线帮助-使用pdf用户文档
我正在尝试将一些用户文档链接到我的Java Swing应用程序.用户文档是pdf,我希望能够在应用程序中单击一个按钮,该按钮会打开某种pdf渲染器以显示我的userdoc.pdf. 我不想使用运行时e ...
最新文章
- ARKit 与 ARCore比对(三)
- MySQL_update同一张表
- PowerDesigner脚本使用记录
- python连接高斯数据库_Python加载数据并执行多高斯fi
- OpenCV极变换polar transforms的实例(附完整代码)
- 分区表需要数据备份吗oracle,Oracle 分区表数据的导入与导出(1)
- 主函数main中变量(int argc,char *argv[ ])的含义
- poj 3660(floyd 变形)
- Java笔记-以系统时间为基准15分钟运行一次指定代码
- 用机器学习拯救“智障”聊天机器人,谷歌开放分析平台Chatbase
- [蓝桥杯]PREV-12.历届试题_危险系数
- new和delete运算符
- Protel 格式网表转换 Allegro 格式网表的 Skill 程序
- 【简历模板】网站推荐
- 无线通信设备安装工程概预算编制_南宁市轨道交通5号线一期工程专用无线通信系统设备采购...
- 爬动漫“上瘾”之后,放弃午休,迫不及待的用Python薅了腾Xun动漫的数据,啧啧啧
- 仓央嘉措不负如来不负卿
- 电脑配置学习(台式机)
- photoshop基本的操作
- 区域/AZ以及AWS各类服务级别
热门文章
- 小米机器人滚轮清理_小米系发布集尘扫地机:一月一清理不用倒垃圾
- 0-3-TyporaMarkdown语法
- 0xC015000F 正在被停用的激活上下文不是最近激活的”错误解决方法
- #50. 【模板】树状数组2
- 电脑双显示器切换到单显示器后,软件窗口不能显示的问题
- 樊代明院士快手直播寄语高考学子:“学医吧,恰逢其时!”
- 撸了个商城系统,已在Github上开源了,快来看看吧!
- 数学机器人今日对全国考生说了什么?
- wps html嵌入ppt,WPS怎么给PPT快速嵌入需要的字体
- 2018上海国际工业自动化及机器人展览会