实时搜索: pdf怎样加水印

pdf怎样加水印

455条评论 5546人喜欢 4057次阅读 480人点赞
cad 转pdf 如何带上水印 , 单个修改的方法我知道,只是文件数量太多,而且每一个PDF文件里都有很多页,一个一个的改太麻烦了。 , 现在急需给已经生成的pdf文件加上水印防伪,用了iText类库,但是不知道如何操作,请大虾们指点! , 万方下载的论文,为什么上传到豆丁网就会有一个万方数据的水印?如何删除,谢谢 , 如上~~ , 本人win7旗舰版64位系统,用的文字处理软件时WPS2012 SP1版,最近有个问题困扰我很久。每次我把要打印的材料加上水印后,再拿到学校的复印室打印时,水印就是打不完整,比方说明明水印设置的是两个字,但只能打出一个字体,剩下的一个字就是打不出来,这究竟时怎么...

有哪些可以给pdf加水印,java第三方开源类库: 作者:流浪的小鼠
链接:https://www.zhihu.com/question/264003636/answer/279707367
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

使用iText ,感觉还是比较简单的
具体代码:
/**
*
* 【功能描述:添加图片和文字水印】 【功能详细描述:功能详细描述】
* @param srcFile 待加水印文件
* @param destFile 加水印后存放地址
* @param text 加水印的文本内容
* @param textWidth 文字横坐标
* @param textHeight 文字纵坐标
* @throws Exception
*/
public void addWaterMark(String srcFile, String destFile, String text,
int textWidth, int textHeight) throws Exception
{
// 待加水印的文件
PdfReader reader = new PdfReader(srcFile);
// 加完水印的文件
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
destFile));
int total = reader.getNumberOfPages() + 1;
PdfContentByte content;
// 设置字体
BaseFont font = BaseFont.createFont();
// 循环对每页插入水印
for (int i = 1; i < total; i++)
{
// 水印的起始
content = stamper.getUnderContent(i);
// 开始
content.beginText();
// 设置颜色 默认为蓝色
content.setColorFill(BaseColor.BLUE);
// content.setColorFill(Color.GRAY);
// 设置字体及字号
content.setFontAndSize(font, 38);
// 设置起始位置
// content.setTextMatrix(400, 880);
content.setTextMatrix(textWidth, textHeight);
// 开始写入水印
content.showTextAligned(Element.ALIGN_LEFT, text, textWidth,
textHeight, 45);
content.endText();
}
stamper.close();
}

cad 转pdf 如何带上水印: 在Adobe Acrobat professinonal 版本里可以直接添加水印啊。
文档下拉菜单就有添加水印和背景的选项。

有一批PDF的文件,已加了水印,如何能够批量处理确保水印不被修改?: 在PS里建立一个动作,就可以对PDF的文件进行批处理。

如何使用.net编程给pdf文件加水印?(急): 很不幸,你选错类库了,iText是一个Java类库而不是.NET,你应该找针对于.NET平台的类库,你可以去codeplex搜索一下

万方下载的论文,为什么上传到豆丁网就会有一个万方数据的水印?如何删除,谢谢: 如何怎么样删除去pdf水印:总结了几个方法,你看哪个比较好用:

一、
1 使用Acrobt Professional v7.0中文版打开PDF文件; 2 文档→添加水印和背景: 2.1 “类型”选择“添加背景(看起来在页面之下)”; 2.2 “来源”选择“从文本”,任意输入文本内容,重要的是要将输入文本内容的字体颜色设置为白色。 2.3 其他选项可以采用默认值。 2.4 点击“确定”。Acrobat会弹出一个警示框,再次点击“确定”。看一看,PDF文件中的水印是不是看不见了?!

二、
用acrobat 7.0的高级编辑工具->TouchUP工具
法一:
把视图缩小,以便鼠标选中水印对象,
然后把水印对象改为无颜色描边,再直接保存,就可以了,
新的pdf不再显示水印了(因为是无颜色描边)。

三、
把水印对象字体(假设为NewRoman)改为系统字体(比如Tohima),
然后删除所有这种对象(不改为系统字体,acrobat不能删除这种对象)。
再保存,就可以了。pdf变得的很大,优化一下保存,比本来的要小了。

四、
可以用Foxit PDF Editor来修改。
方法:
step1:水印上点两下
step2:水印上点右键,选Image Editing
step3:这时可以把水印涂掉
step4:存档

c++编程 如何将word转换成pdf,并在pdf上加上水印: WPS能直接转换成PDF格式的,加水印的话下个Adobe Acrobat X Pro

java如何实现在web工程中用OpenOffice生成带有图片水印的pdf:

需要itext2.1.5,

以下是对pdf加水印的代码,包括文字水印和图片水印


public int fileCopy(String srcPath, String destPath) {
FileOutputStream fos = null;
FileInputStream fis = null;
try {
fos = new FileOutputStream(destPath);
fis = new FileInputStream(srcPath);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
return 1;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fis.close();
fos.flush();
fos.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return 0;
}

/**
* 为pdf文件加文字水印
*
* @param srcPath
*            源文件路径
* @param destPath
*            目标文件路径
* @param waterText
*            水印文字
* @throws DocumentException
* @throws IOException
*/
public void wordWaterMark(String srcPath, String destPath, String waterText) throws DocumentException, IOException {
int result = fileCopy(srcPath, destPath);
if (result == 1) {
// 待加水印的文件
PdfReader reader = new PdfReader(destPath);
// 加完水印的文件
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(srcPath));

int total = reader.getNumberOfPages() + 1;
PdfContentByte content;
// 设置字体
BaseFont base = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

// 水印文字
int j = waterText.length(); // 文字长度
char c = 0;
int high = 0;// 高度
// 循环对每页插入水印
for (int i = 1; i < total; i++) {
// 水印的起始
high = 60;
content = stamper.getUnderContent(i);
PdfGState gs = new PdfGState();
gs.setFillOpacity(0.1f);// 设置透明度为0.2
content.setGState(gs);
// 开始
content.beginText();
// 设置颜色
// content.setColorFill(new Color());
// 设置字体及字号
content.setFontAndSize(base, 88);
// 设置起始位置
content.setTextMatrix(120, 333);
// 开始写入水印
for (int k = 0; k < j; k++) {
content.setTextRise(high);
c = waterText.charAt(k);
content.showText(c + "");
high += 20;
}
content.endText();

}
stamper.close();
System.out.println("添加成功++++++++++++++++++++++++++++++++++++++++++");
} else {
System.out.println("复制pdf失败====================");
}

}

public void picWaterMark(String srcPath, String destPath, String imageFilePath)
throws DocumentException, IOException {
int result = fileCopy(srcPath, destPath);
if (result == 1) {
// 待加水印的文件
PdfReader reader = new PdfReader(destPath);
// 加完水印的文件
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(srcPath));
Image img = Image.getInstance(imageFilePath);
img.setAbsolutePosition(50, 400);// 坐标
img.setRotation(20);// 旋转 弧度
img.setRotationDegrees(45);// 旋转 角度
// image.scaleAbsolute(200,100);//自定义大小
img.scalePercent(50);// 依照比例缩放
int pageSize = reader.getNumberOfPages();
for (int i = 1; i <= pageSize; i++) {
PdfContentByte under = stamper.getUnderContent(i);
under.addImage(img);
PdfGState gs = new PdfGState();
gs.setFillOpacity(0.2f);// 设置透明度为0.2
under.setGState(gs);
}
stamper.close();// 关闭
System.out.println("添加成功++++++++++++++++++++++++++++++++++++++++++");
} else {
System.out.println("复制pdf失败====================");
}
}


linux下转pdf可以用libreoffice,需要安装,这个是免费的,具体代码如下:

String command = "libreoffice5.0 --invisible --convert-to pdf:writer_pdf_Export --outdir " + destFilepath
+ " " + source;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

WPS如何在打印时把水印显示出来?:

1、首先打开要编辑的文档,然后点击上面的“插入”菜单

2、接着点击工具栏上的“水印”图标,在弹出的下拉菜单中点击“插入水印”菜单项。

3、在水印设置窗口中,可以设置添加图片水印,或是添加文字水印,如果设置添加图片水印的话,选中“图片水印”前的复选框,然后点击“选择图片”按钮,然后选择要添加的图片,设置好图片的格式后就可以了。

4、重点讲解一下文字水印,首先选中“文字水印”前的复选框。

5、接下来在内容文本框中输入水印的内容,比如:百度经验,然后在下面设置好文字 的格式,包括字体、字号、颜色、版式等等,设置完成后点击确定按钮。

  • dota2三冰是谁

    ansys求助做磁场仿真: 学习电磁学Ansys仿真软件方法:1、学习ansys,如果熟悉有限元的相关知识,对学习和理解软件的运行机制无疑是有好处的。对于初学者来说,有限元知识理论性太强。对于一般的电磁学分析,并不需要太多的有限元知识;2、从图...

    677条评论 4648人喜欢 5678次阅读 788人点赞
  • note3截屏图片在哪

    cforstuvw翻译成中文是什么意思: 各色人的人会颁发的任何热身 ...

    345条评论 5983人喜欢 2420次阅读 688人点赞
  • 3350克的小孩有多少厘米

    RTK什么型号好用?:   现在市面上比较好的RTK,型号主要有华测i80、中海达iRTK2、南方银河1,下面是三种仪器的核心参数对比南方银河1:体积12.9cm×11.2cm,支持北斗B3,单锂电池,倾斜补偿器,3.5G通讯模块,抗性ip...

    256条评论 2887人喜欢 1164次阅读 589人点赞
  • dnf裂缝在哪刷

    VB中 Dim rst(0 To 2) As New ADODB.Recordset 是什么意思: Recordset 对象用来操作来自提供者的数据。使用 ADO 时,通过 Recordset 对象可对几乎所有数据进行操作。所有 Recordset 对象均使用记录(行)和字段(列)进行构造。由于提供者所支持的功能不...

    568条评论 6548人喜欢 5592次阅读 338人点赞
  • 昆明好玩的地方有哪些

    股票有xrst是什么意思: st是退市风险,就是一天只能有百分之五的涨跌幅,xr就不清楚了,xd是除权除息,分红的意思 ...

    922条评论 1382人喜欢 1399次阅读 712人点赞