• 技术要点

    • Itext

      • 图层合并,图层分离

        • 合并:
        • 分离:
    • 最后

技术要点

Itext

图层合并,图层分离

合并:

  • 思路1:图层来的是单独文件,需要使用pdfwriter写入
            PdfLayer foot = new PdfLayer("layerName1", writer);dcb.BeginLayer(foot);///加入内容PdfReader footReader = new PdfReader(footer);PdfImportedPage footerPage = writer.GetImportedPage(footReader, 1);dcb.AddTemplate(footerPage, 0, 0);dcb.EndLayer();/////设置第二个图层PdfLayer head = new PdfLayer("layerName2", writer);dcb.BeginLayer(head);PdfReader headReader = new PdfReader(header);PdfImportedPage headerPage = writer.GetImportedPage(headReader, 1);dcb.AddTemplate(headerPage,0,0);dcb.EndLayer();

就是使用文件每一层一层的加入。

  • 思路2:如果文件来的是所有的图层,可以使用PdfStamper
           PdfReader reader = new PdfReader(pdfPath);PdfStamper stamper1 = new PdfStamper(reader, new FileStream("D:\\new_stamper.pdf", FileMode.Create));Dictionary<string, PdfLayer> layers = stamper1.GetPdfLayers();////这里需要选择性的删除某些图层foreach (var key in layers.Keys){Console.WriteLine(key);if (key.Contains("UV")){OCGRemover oCGRemover = new OCGRemover();oCGRemover.RemoveLayers(reader, key);}}

可以理解为,删除部分,剩下的就是合并的结果。

分离:

  • 对于图层分离的情况
  • 思路1:这个类似于刚刚的“合并思路2”
           PdfReader reader = new PdfReader(pdfPath);PdfStamper stamper1 = new PdfStamper(reader, new FileStream("D:\\new_stamper.pdf", FileMode.Create));Dictionary<string, PdfLayer> layers = stamper1.GetPdfLayers();////除导出的图层以外,删除其他所有图层foreach (var key in layers.Keys){Console.WriteLine(key);if (!key.Contains("UV")){OCGRemover oCGRemover = new OCGRemover();oCGRemover.RemoveLayers(reader, key);}}

最后

  • 关于PdfStamper 和 PdfWriter的用法,建议伙伴们看看官网文档和demo,肯定会有更好的使用理解。

kind regards.

Last modify:2018年4月28日18:53:30

Itext图层合并/分离相关推荐

  1. arcgis两张图层不能同时显示_arcgis怎么把两个图层合并成一个

    arcgis怎么把两个图层合并成一个 1.Arcgis中怎样将一个点图层和一个面图层合并为一个图层且属性都在呢 1.ARCGIS如何将点图层的属性赋给面图层 用arctoolbox anaglist ...

  2. itext pdf 合并会翻转方向的问题. 修复方法.

    itext pdf 合并会翻转方向的问题. 修复方法. itext pdf 在处理合并多个页面的时候. 有两种方法 一种是直接用itext 的Write 控制输出. 另外一种方法是使用 PdfCopy ...

  3. C# AutoCAD ActiveX 二次开发 -- CAD图层合并

    因使用AutoCAD版本为2004,2006版本以后才有.net开发包,因此采用ActiveX方式进行开发. 功能为:将几个CAD图层合并到其中一个上,并设置坐标,线和标记的颜色和字体. CAD对象的 ...

  4. python图层合并_GIS实验之文件夹中的批量图层合并Python实现

    1. 实验任务2. 实验数据分析3. Python实现图层合并 1. 实验任务数据描述 :提供含有多个数据文件的 20 个文件夹,每中的数据名称都一致.例如每个文件夹中有为" 名称都一致.例 ...

  5. android图片合并pdf,Android:使用iText API合并PDF文件不工作

    我想通过使用iText API将两个或多个PDF文档合并成一个PDF文件合并.但在结果我得到合并pdf与0字节size.I发布我的代码如下所示.我也尝试了iText.jar文件,但给出相同的0尺寸的P ...

  6. QT:停靠窗口(拥有自动合并分离的功能)

    1-停靠窗口(拥有自动合并分离的功能)                                       2-停靠窗口一般可以和 工具栏一起使用达到更好的联动效果(停靠窗口有方法可以直接返回 ...

  7. 记一次图层合并算法设计

    一张完整的图像可能是由若干个大小不同的图层组成的.如果由计算机将这若干个图层渲染成一张完整的图像,则需要根据图层的z值(也可以理解为远近关系,z值越大,从视觉角度来看,图层被显现的内容越多),所以,一 ...

  8. arcgis 同名图层合并_ArcGIS实践教程(37)ArcGIS/ArcMap多个图层(要素类)的合并

    方法一:Arctoolbox\Data Management Tools\General\Merge 方法二:Arctoolbox\Data Management Tools\General\Appe ...

  9. python图层合并_图层最新:Python叠加矩形框图层2种方法及效果_爱安网 LoveAn.com

    关于"图层"的最新内容 聚合阅读 这篇文章主要介绍了Python叠加矩形框图层2种方法及效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友 ...

最新文章

  1. IISApp -a查找对应的AppPool
  2. oracle的自动增长,Oracle实现id自动增长
  3. 皮一皮:同一样物件,不一样的时间...
  4. XP系统限制修改IP有新招
  5. python repair修复功能_详解Python修复遥感影像条带的两种方式
  6. 污染物在线自动监控(监测)系统数据传输标准 (HJ212-2017)-空气质量监测数据包构造...
  7. 远程桌面连接-GPU加速
  8. Android View框架总结(六)View布局流程之Draw过程
  9. Java 23 种设计模式概述 与 简单工厂模式
  10. Android 高仿腾讯旗下app的 皮肤加载技术
  11. photoshop cs6 下载并安装教程
  12. ENVI_IDL:批量重投影Modis Swath产品并指定范围输出为Geotiff格式+解析
  13. 长江存储推全新3D NAND架构 挑战三星存储
  14. BTT、BZZ、IPFS都是分布式存储那到底有何区别?一文读懂
  15. html怎么查看cad文件,怎么将电脑CAD文件在手机上查看?原来怎么简单!
  16. 人工智能培训市场前景如何?
  17. 浏览器访问百度www.baidu.com过程
  18. Pandas数据结构之DataFrame常见操作
  19. 亲子教育资源库大全集
  20. ARP协议与ARP欺骗

热门文章

  1. 大数据是什么?大数据的趋势?
  2. c语言中(15 7)什么意思,结业考试是什么
  3. 对于最近工作的一些感悟和复盘
  4. 微型计算机通信与接口技术 pdf,微型计算机原理与接口技术
  5. HTML5将给开发者带来什么?
  6. sata 双硬盘 电源线_鸡肋还是创新 神奇SSD不接电源/SATA线
  7. PythonGUI工具 图片大小转换
  8. SQL 注入漏洞详解
  9. QtCharts 饼图的基本用法
  10. A01_机器学习_3.集成学习