質問

ABCPDFまたは別のフレームワークを使用して、PDFからレイヤーを削除または非表示にすることは可能ですか?

正しい解決策はありません

他のヒント

次の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);

あるいは、あなたが探していたかもしれません flatten() 関数?

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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top