.pdf文件通过java拷贝,java复制pdf而且往pdf文件中添加内容
import java.io.File;
import java.io.FileOutputStream;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;
public class CreatePDF {
public static void main(String[] args) throws Exception {
Document pdfDoc = new Document();
// 将要生成的 pdf 文件的路径输出流
FileOutputStream pdfFile = new FileOutputStream(new File(
"F:firstPdf.pdf"));
// pdf 文件中的一个文字段落
Paragraph paragraph = new Paragraph(
"My first PDF file with an image ...");
Image image = Image.getInstance("images/pdftest.png");
// 用 Document 对象、File 对象获得 PdfWriter 输出流对象
PdfWriter.getInstance(pdfDoc, pdfFile);
pdfDoc.open(); // 打开 Document 文档
// 添加一个文字段落、一张图片
pdfDoc.add(paragraph);
pdfDoc.add(image);
pdfDoc.close();
}
}
import java.io.File;
import java.io.FileOutputStream;
import com.itextpdf.text.Element;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfArray;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfDictionary;
import com.itextpdf.text.pdf.PdfName;
import com.itextpdf.text.pdf.PdfObject;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
public class CAPdf{
public static void main(String[] args) throws Exception {
FileUtil.fileChannelCopy(new File("F:\\firstPdf.pdf"),new File("f:\\firstPdf_temp.pdf"));
PdfReader reader = new PdfReader("f:firstPdf.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("f:firstPdf_temp.pdf"));
PdfContentByte overContent = stamper.getOverContent(1);
//添加文字
BaseFont font = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
overContent.beginText();
overContent.setFontAndSize(font, 10);
overContent.setTextMatrix(200, 200);
overContent.showTextAligned(Element.ALIGN_CENTER,"需要添加的文字",180,530,0);
overContent.endText();
//添加图片
PdfDictionary pdfDictionary = reader.getPageN(1);
PdfObject pdfObject = pdfDictionary.get(new PdfName("MediaBox"));
PdfArray pdfArray = (PdfArray) pdfObject;
Image image = Image.getInstance("images/pdftest.png");
image.setAbsolutePosition(100,100);
overContent.addImage(image);
//添加一个红圈
overContent.setRGBColorStroke(0xFF, 0x00, 0x00);
overContent.setLineWidth(5f);
overContent.ellipse(250, 450, 350, 550);
overContent.stroke();
stamper.close();
}
}
.pdf文件通过java拷贝,java复制pdf而且往pdf文件中添加内容相关推荐
- java file move_Java复制、移动和删除文件
Java复制.移动和删除文件 2019-02-05 编程之家收集整理的这篇文章主要介绍了Java复制.移动和删除文件,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. 复制文件: File ...
- 扫描型PDF转成可搜索可复制的文字型PDF,使用PDF24 OCR 程序报“下载需要的文件时出现一个错误”
1.PDF工具 -- PDF24 需要找一个将扫描型的PDF转换成可搜索可复制的PDF文件的工具,搜到的大部分工具我都试用了,要么转换出来样式不行,要么收费.然后找到了一个下图所示的PDF24 的工具 ...
- java文档打印_java 如何读取文档中的内容 并打印
java 如何读取文档中的内容 并打印 关注:230 答案:2 信息版本:手机版 电脑版 解决时间 2021-01-25 16:31 提问者非莪莫属 2021-01-25 04:31 java 如 ...
- mac u盘文件过大 拷贝不进去_使用mac时文件太大无法拷贝怎么办
高新科技的不断发展,我们对文件储存需求越来越大,无论是手机还是电脑文件的存储经常会非常大,那么对于这些大文件的拷贝,我们常常会遇到文件太大无法拷贝的问题,下面小编就针对mac用户来教大家如何解决这一问 ...
- u盘无法复制文件进去_U盘无法复制超过4GB的大文件怎么办?
相信许多朋友经常通过U盘复制文件来转移数据,但可能会碰到下面的情况:U盘上明明还有大于4GB的空间,但只要复制超过4G大小的文件就提示文件太大而无法复制,是什么问题呢?该如何解决?下面IT技术资料分享 ...
- java 直接用复制的安全路径 打开文件错误,手动输入后错误消失
直接复制路径,然后运行,会发生错误. 错误如下,不知为啥. 之后,重新输入一样的路径,错误消失. 错误的代码 package try_a_package;import java.io.File; im ...
- java 用于xcopy复制_java调用copy复制子文件夹及文件到指定目录(非xcopy)
因为作所以烦因为烦所以快乐...(为什么不先查一下有没有现成的命令,后悔啊!!) 不知道有xcopy这个命令就自己想写个复制子目录和文件的功能...以下故事诞生了 是这样的,昨天在学校弄的半成品,半成 ...
- java异常的总接口_重构:Java特别的接口修改:在throws子句中添加一个异常?
我用具体的代码来解释下吧 接口A,有方法X public interface A { public void methodX() throws IOException; } 在用户模块有这样一段调用 ...
- Java定义一个数组,并向该数组中添加一个值或对象
1.对于向HTML的JS数组,比较简单. let arr=[]; arr.push(3); arr.push(5); 2.JAVA中,一般数组是不能添加元素的,因为他们在初始化时就已经定好了长度,不能 ...
- 【Java之轨迹】SpringBoot 实现动态往数据库中添加时间点,使程序在规定的时间点执行任务(定时任务变形应用,附实战:动态日程提醒任务调度)
-- 目录 -- 1. 需求产生背景 2. 实现思路 3. 具体实现(实战) ① 示范建表(只想看逻辑的可以跳过) ② 自定义任务调度器(重 - 参考与改造) ② 自定义装载任务(重 - 初始化任务调 ...
最新文章
- 自定义本地Maven 仓库 配置
- 获取dbgrid的行索引
- boost::math模块使用 non_finite_num facet 的一个非常简单的例子
- 导出oracle sequences,利用数据泵只导出序列
- Linux 火狐浏览器安装Flash插件
- android 动态申请权限_你真的了解Android权限机制吗?
- 【21】基于java的旅游信息管理系统
- Amos24程序安装及注意事项
- Python 数值求解偏微分方程(含两个示例)
- 树莓派 vnc Cannot currently show the desktop
- 4入4出Modbus RTU继电器模块说明书
- 掠食细菌—蛭弧菌B. bacteriovorus,可以对抗革兰氏阴性感染?
- iOS 开发的一些奇巧淫技
- 英文简历中地址应该怎么翻译?
- SQL数据库基本语句
- 引入echarts的js文件报错——Cannot read properties of null (reading ‘getAttribute‘)
- 用 Flutter 实现 PageView 指示器
- 网站搜索引擎优化指南
- linux图形框架DRI
- MySQL: 1366 incorrect string value
热门文章
- html 随机 小游戏代码,html小游戏代码#(精选.)(3页)-原创力文档
- 抛出 java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to andr异常
- ABIs [armeabi] are not supported for platform. Supported ABIs are [arm64-v8a, armeabi......
- 遍历Map集合的四种方式
- 我的新书《Android App开发从入门到精通》终于出版啦
- U盘PE装系统-CGI一键还原备份安装方法
- html js把json转化为excel,json转换Excel
- linux mysql更改表字段_MySQL 修改表字段优化方案
- Spring Boot内嵌的tomcat日志
- Android机顶盒网络地址端口连通性测试