【问题标题】:Remove or hide PDF layer using ABCPdf?使用 ABCPdf 删除或隐藏 PDF 层?
【发布时间】:2010-03-12 16:46:21
【问题描述】:

是否可以使用 ABCPdf 或其他框架从 PDF 中删除或隐藏图层?

【问题讨论】:

    标签: pdf pdf-generation abcpdf ocg


    【解决方案1】:

    以下 C# 示例显示了如何删除第 1 页的第 2 层:

    Doc theDoc = new Doc();
    theDoc.Read("source.pdf");
    int thePages = theDoc.GetInfoInt(theDoc.Root, "Pages");
    int thePage = theDoc.GetInfoInt(thePages, "Page 1");
    int theLayer = theDoc.GetInfoInt(thePage, "Content 2");
    theDoc.Delete(theLayer);
    

    【讨论】:

      【解决方案2】:

      或者您可能正在寻找Flatten() 函数?

      【讨论】:

        【解决方案3】:

        ABCpdf 包含一个名为 OCGLayers 的示例项目。该项目向您展示了如何识别和编辑图层中的所有项目。

        例如:

                Properties props = Properties.FromDoc(_doc, false);
                Page page = (Page)_doc.ObjectSoup[_doc.Page];
                Reader reader = Reader.FromPage(props, page);
                List<OptionalContent.Layer> layers = reader.GetLayers();
                foreach (OptionalContent.Layer layer in layers) {
                    if (layer.Visible == false) {
                        if (reader == null)
                            reader = Reader.FromPage(props, page);
                        Reader.Redact(ref reader, layer);
                    }
                }
                UpdateLayers();
                UpdatePreview();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-16
          • 2015-05-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多