Можно ли удалить или скрыть слой из PDF с помощью ABCPdf или другого фреймворка?
Вопрос
Удалить или скрыть слой PDF с помощью ABCPdf?
Ответы
Ответ 1 · рейтинг 3 · AffineMesh
В следующем примере C# показано, как можно удалить слой 2 страницы 1:
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 · Joshua Drake
Или, возможно, вы искали Flatten() функция?
Ответ 3 · OnceUponATimeInTheWest
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();
Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.
Похожие материалы
- Как извлечь форматированное текстовое содержимое из PDF
- Создавать PDF-файлы с длинными строками, соответствовать ширине страницы без переноса слов
- Абсолютное позиционирование с использованием XSL для преобразования и преобразования в PDF
- Коды ошибок Adobe Reader
- Codeigniter Создание PDF для более чем 1000 строк
- Помощь с приложением PDFKit и Rails