linux编程pdf百度网盘(linux编程pdf)
linux命令模式下如何看pdf文件?
linux命令模式下查看pdf文件需要借助evince命令,如打開當前目錄下的a.pdf文件的命令是evince a.pdf注意:在Linux的文本模式下是不能使用該命令并查看pdf文件的。可以實施fbgs,但只能查看部分pdf文檔。說明:Evince 原本是 GNOME 環境中一個簡單的文檔查看器,可以查看 PDF、Postscript、djvu、tiff、dvi 等文檔。
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;
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(); }
總結
以上是生活随笔為你收集整理的linux编程pdf百度网盘(linux编程pdf)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Data Solr教程:配
- 下一篇: ddos攻击用哪些服务器(ddos攻击用