当前位置: 首页 > news >正文

企业网站加快企业信息化建设设计网站名称

企业网站加快企业信息化建设,设计网站名称,江苏建设工程信息网一体化平台官网,施工企业成立技术中心的好处优化方法一#xff1a;使用PdfSmartCopy类代替PdfCopy类。这个类可以在合并PDF文件时#xff0c;检测并消除重复的对象#xff0c;从而减少内存的占用。您可以参考以下代码示例#xff1a; //创建一个Document对象 Document document new Document();//创建一个PdfSmartC…优化方法一使用PdfSmartCopy类代替PdfCopy类。这个类可以在合并PDF文件时检测并消除重复的对象从而减少内存的占用。您可以参考以下代码示例 //创建一个Document对象 Document document new Document();//创建一个PdfSmartCopy对象 PdfSmartCopy copy new PdfSmartCopy(document, new FileOutputStream(output.pdf));//打开Document对象 document.open();//创建一个PdfReader对象 PdfReader reader null;//遍历要合并的PDF文件 for (String file : files) {//加载PDF文件reader new PdfReader(file);//获取PDF文件的总页数int n reader.getNumberOfPages();//遍历每一页添加到PdfSmartCopy对象中for (int page 0; page n;) {copy.addPage(copy.getImportedPage(reader, page));} }//关闭PdfReader对象 reader.close();//关闭Document对象 document.close();//创建一个PdfStamper对象 PdfStamper stamper new PdfStamper(new PdfReader(output.pdf), new FileOutputStream(output.pdf));//获取总页数 int pageCount stamper.getReader().getNumberOfPages();//遍历每一页添加页码 for (int i 1; i pageCount; i) {//获取当前页PdfContentByte content stamper.getOverContent(i);//设置字体和颜色content.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED), 12);content.setRGBColorFill(0, 0, 0);//获取当前页的宽度和高度Rectangle pageSize stamper.getReader().getPageSize(i);float width pageSize.getWidth();float height pageSize.getHeight();//计算页码的位置float x width / 2;float y 10;//添加页码content.beginText();content.showTextAligned(PdfContentByte.ALIGN_CENTER, 第 i 页共 pageCount 页, x, y, 0);content.endText(); }//关闭PdfStamper对象 stamper.close();优化方法二使用PdfWriter类代替PdfCopy类。这个类可以在合并PDF文件时直接将每一页写入到输出流中而不需要将整个文档加载到内存中。可以参考以下代码示例 //创建一个Document对象 Document document new Document();//创建一个PdfWriter对象 PdfWriter writer PdfWriter.getInstance(document, new FileOutputStream(output.pdf));//打开Document对象 document.open();//创建一个PdfImportedPage对象 PdfImportedPage page null;//创建一个PdfReader对象 PdfReader reader null;//遍历要合并的PDF文件 for (String file : files) {//加载PDF文件reader new PdfReader(file);//获取PDF文件的总页数int n reader.getNumberOfPages();//遍历每一页添加到PdfWriter对象中for (int i 1; i n; i) {//获取当前页的宽度和高度Rectangle pageSize reader.getPageSizeWithRotation(i);float width pageSize.getWidth();float height pageSize.getHeight();//设置Document对象的页面大小document.setPageSize(pageSize);//创建一个新的页面document.newPage();//导入当前页page writer.getImportedPage(reader, i);//将当前页添加到PdfWriter对象中writer.addPageDictEntry(PdfName.ROTATE, pageSize.getRotationAsPageDictEntry());writer.addDirectImageSimple(page);writer.getCurrentPage().add(page);//创建一个PdfContentByte对象PdfContentByte content writer.getDirectContent();//设置字体和颜色content.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED), 12);content.setRGBColorFill(0, 0, 0);//计算页码的位置float x width / 2;float y 10;//添加页码content.beginText();content.showTextAligned(PdfContentByte.ALIGN_CENTER, 第 i 页共 pageCount 页, x, y, 0);content.endText();} }//关闭PdfReader对象 reader.close();//关闭Document对象 document.close(); 优化方法三使用PdfReader类的partial和selectPages方法。这些方法可以在加载PDF文件时只读取需要的页面而不需要将整个文档加载到内存中。可以参考以下代码示例 //创建一个Document对象 Document document new Document();//创建一个PdfCopy对象 PdfCopy copy new PdfCopy(document, new FileOutputStream(output.pdf));//打开Document对象 document.open();//创建一个PdfReader对象 PdfReader reader null;//遍历要合并的PDF文件 for (String file : files) {//设置partial为true只读取需要的页面reader new PdfReader(new RandomAccessFileOrArray(file), null);reader.consolidateNamedDestinations();reader.partial true;//获取PDF文件的总页数int n reader.getNumberOfPages();//创建一个List对象存储需要的页面ListInteger pages new ArrayListInteger();//遍历每一页添加到List对象中for (int i 1; i n; i) {pages.add(i);}//使用selectPages方法只选择需要的页面reader.selectPages(pages);//将选择的页面添加到PdfCopy对象中for (int i 0; i pages.size(); ) {copy.addPage(copy.getImportedPage(reader, i));} }//关闭PdfReader对象 reader.close();//关闭Document对象 document.close();//创建一个PdfStamper对象 PdfStamper stamper new PdfStamper(new PdfReader(output.pdf), new FileOutputStream(output.pdf));//获取总页数 int pageCount stamper.getReader().getNumberOfPages();//遍历每一页添加页码 for (int i 1; i pageCount; i) {//获取当前页PdfContentByte content stamper.getOverContent(i);//设置字体和颜色content.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED), 12);content.setRGBColorFill(0, 0, 0);//获取当前页的宽度和高度Rectangle pageSize stamper.getReader().getPageSize(i);float width pageSize.getWidth();float height pageSize.getHeight();//计算页码的位置float x width / 2;float y 10;//添加页码content.beginText();content.showTextAligned(PdfContentByte.ALIGN_CENTER, 第 i 页共 pageCount 页, x, y, 0);content.endText(); }//关闭PdfStamper对象 stamper.close();[java - How to avoid OutOfMemoryError when merging PDFs using iText? - Stack Overflow] [java - How to merge pdf files without loading all the documents in memory? - Stack Overflow] [java - How to merge pdf files without loading all the documents in memory? - Stack Overflow]
http://www.pierceye.com/news/109809/

相关文章:

  • 做网站的技术要求高吗农业推广专业
  • 在百度做个卷闸门网站怎么做成都高端网站
  • 个人网站备案名称填写货运网站建设公司
  • 有网页源码 怎么做网站外链发布软件
  • 医疗网站建设基本流程wordpress速度加快
  • 网站建设优化开发公司哪家好泰州东方医院男科
  • 怎么自己做歌曲网站大连网站制作公司费用多少
  • 网站专题设计稿用vue做商城网站常用的js
  • 怎么在免费空间里面做网站深圳英文站seo
  • 学风建设网站版块如何用visual studio做网站
  • 山东响应式网站设置字体颜色的网站
  • 美容院网站建设西安有关做网站的公司有哪些
  • 湛江做网站设计公司网络推广网站培训班
  • 大型网站建立萝岗微信网站建设
  • 门户网站建设发展趋势官网网站怎么创建
  • 企业网站如何做自然搜索phpcms 网站转移
  • 站内优化怎么做建设设计网站
  • 如何建设机器人教育网站上海有名的网络公司
  • 网站二级目录做网站淄博网站建设 很乱
  • 常州做网站企业海口网站开发建设
  • 做php网站用什么软件开发wordpress页面图片轮播图
  • 做网站页面大小多大8上的信息课做网站作业
  • 自己做微网站创欧科技 网站建设
  • 网站设计师大学学什么专业北京燕华工程建设有限公司网站
  • 广州专业网站建设企业wordpress 数据库修改
  • 淮南装饰公司网站建设seo 网站树
  • 设计素材下载网站网络营销课程设计报告
  • 安庆公司做网站搜索引擎收录提交入口
  • 城固网站建设wordpress主题谁的最好
  • 国外建站企业北京鑫创网站建设