(linux c 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文件需要借助evince命令,如打开当前目录下的a.pdf文件的命令是evince a.pdf注意:在Linux的文本模式下是不能使用该命令并查看pdf文件的。可以实施fbgs,但只能查看部分pdf文档。说明:Evince 原本是 GNOME 环境中一个简单的文档查看器,可以查看 PDF、Postscript、djvu、tiff、dvi 等文档。
Linux下常用软件有哪些?1.Applications:应用软件
1)Dia:一个工程图编辑器,适用于绘制电路图;
2)Calendar:一个集日历与日程表于一身的好工具;
3)AddressBook:一个通讯录
4)GEdit:一个功能类似于Windows下的记事本的文本编辑器;
5)Gnumeric:Linux下的一个类似于EXCEL的电子表格软件;
6)Timetrackingtools:一个用于提醒时间的小工具;
2.Games:游戏软件
1)GnomeMilnes:GNOME下的扫雷;
2)Gnibbles:贪吃蛇游戏;
3)Freecell:Windows下的空当接龙游戏;
3.Graphics:图形处理软件
1)ElectricEyes:一个十分优秀的图形处理软件,可谓GNOME下的AcdSee呀!
2)XPDF:一个在Linux阅读PDF文档的工具;
3)TheGimp:一个十分优秀的绘图软件,与Photoshop很象!
4.Internet:Internet应用软件
1)DialupConfigurationTool:一个界面十分友好的拔号上网设置工具;
2)gFTP:一个FTP客户端
3)pine:一个E-Mail客户端软件
4)Netscape:大名鼎鼎的浏览器软件,被微软从Windows平台挤下来的
5)RHNetworkmonitor:网络流量显示
5.Multimedia:多媒体软件
1)AudioMixer:声音控制器
2)CDPlayer:CD播放器
3)XMMS:与Winamp是一个模子里出来的
KDE下
1.Office:办公软件
这就是大名鼎鼎的Koffice套件。
1)Kword:字处理软件
2)Kspread:象Excel的电子表格处理软件
3)Kpresenter:一个类似于PowerPoint的演示软件
4)Kchart:一个电子图表软件
5)Kiiiustrator:一个电子出版软件
2.Develop:开发工具
1)Kdevelop:一个KDE下的集成开发环境
3.Applications:应用软件
1)AdvancedEditor:一个增强型的文本编辑软件
2)Emacs:这是一个功能强大的编辑软件,在GNOME中也有,它的原形是字符终端下的Emacs
3)Organizer:一个日程安排软件
4.Internet:Internet软件
1)Kppp:一个十分友好的拔号上网配置工具
2)Kmail:一个十分漂亮的Email客户端,有点象Outlook!
3)ChatClient:一个IRC客户端
4)KPPPLoad:一个网络流量工具
5)Netscape:大名鼎鼎的WEB浏览器,在GNOME中也有集成
聊天软件:
LumaQQ独立的JavaQQ客户端,可重用纯Java核心和基于SWT仿QQ界面。
Ftp
*kget
使用Qt库的下载软件(类似于getright),可以监视剪贴版,支持断点续传
*gftp
使用gtk库的类似于cute-ftp的ftp软件.可以上传和下载.
*wget
命令行下常用的ftp软件,功能强大
*nc-0.99
个基于gtk的下载软件,与kget类似均模仿了getright和NV一类windows下的下载软件
*中文环境
owzce
稳定的shell下的中文环境,可惜不是freesoftware.
occe
freesoftware的shell下的中文环境,以前的版本有Bug,不过现在新的开发计划正在进行中.
ocxterm
很好的一个在X-term下的中文环境,必装,他同时也是很多x-win下中文环境的基础.
oXa+Xcin
很稳定的一个x-win下的中文包装环境,支持在任何x程序中输入中文.
oChinput
比较完善的一个中文包装方案,然而,在kde下输入汉字有问题.
obluepointpre很好的一个内核中文化的Linux核心,支持控制台和xwin的中文显示和输入
okmail
kde自带的mialclient与Win98下的outlookExpress相像.
oxfmail
一个很完备的邮件程序,也很方便(有点像Thebat)
*games
oFreeciv
linux下的经典之作<文明一代>支持网络对战.
oQuake2
3d游戏的经典<雷神之锥2>,支持3dfxVoodoo1
oGameforLinux还有很多,以后我们会开专版介绍.
*irc
okirckde下自带的irc软件.
oxchatx-win下的irc软件
o其实irc也有很多种,不过我不喜欢聊天,所以没有去找了.
*文字处理
ostaroffice据说是Linux下最好的办公软件.
owordprefect所见即所得的另一个文字处理软件
*其他相关
oexplore2fs-1.00-pre1.zip
在win85/98下察看Linuxext2分区
oFireBirdBBS2.6-1
国内最流行的BBS服务器软件
ovmware
最近很热的Linux下的虚拟机,能在它的虚拟窗口下运行/安装Win98和nt,还在beta版中,目前对系统要求很高(PII-233,64M),DirctX的一些功能还不能支持.
oWine
Win95/98模拟器,由于win系列的不断升级,总处在Beta版中.可以运行win98下的程序,据说甚至可以用它玩<星际争霸>!
*mp3
ox11amp
最好的mp3播放器,和winamp很像
okmp3
kde下的mp3播放器,界面和ked下的其他播放软件统一
*视频
oquicktimeforLinux1.0
播放quicktime的mov动画
oRealplay5/RealplayG2
播放Rm格式的视频和图像
omtv
播放vcd的最好软件,可惜是商业的,不过1.0.7版的注册码可以在网易精华区找到
*系统安全
onessus
osaint
osyslog
*程序开发环境
oxvisual
类似于VisualBasic的开发环境,基于Xform
oXwpe
C的集成开发环境,类似于Tc2.0的界面
oVisualGtk
Gtk程序的可视化编程,现在还在bate版中.
oC-Forge一个据说最好的Linux下的c/c++开发环境
*其他
ogtksee-0.3,这时一个国内Linux爱好者编写的Linux下图象查看软件,以移植ACDsee为目标,因此使用和界面于acdsee很相像。这个软件已经收录于Redhat,Debian和FreeBsd的软件库
linux系统怎么查看pdf文件?linux命令模式下查看pdf文件需要借助evince命令,如打开当前目录下的
a.pdf
文件的命令是evincea.pdf
注意:在Linux的文本模式下是不能使用该命令并查看pdf文件的。可以实施fbgs,但只能查看部分pdf文档。
说明:Evince 原本是 GNOME 环境中一个简单的文档查看器,可以查看 PDF、Postscript、djvu、tiff、dvi 等文档。
总结以上是真正的电脑专家为你收集整理的(linux c pdf)的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得真正的电脑专家网站内容还不错,欢迎将真正的电脑专家推荐给好友。