ABCPdf または別のフレームワークを使用して PDF からレイヤーを削除または非表示にすることは可能ですか?
質問する
2236 次
3 に答える
3
次の 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);
于 2010-03-23T09:56:34.107 に答える
0
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();
于 2015-05-18T14:50:00.010 に答える
0
それともFlatten()関数を探していたのでしょうか?
于 2011-06-06T16:10:01.957 に答える