Обрезать PDF без сохранения невидимого содержимого (.NET или ObjC) - PullRequest
1 голос
/ 25 октября 2011

Я пытаюсь обрезать PDF, используя .NET (используя PDF4NET или iTextSharp, но не закрытый для них) или Objective-C (CGContextXXX, CGPDFXXX и т. Д.) ... Но без сохранения невидимого содержимого!

В настоящее время я могу выполнить операцию обрезки с помощью поля обрезки или области обрезки, но все невидимое содержимое все еще присутствует в PDF ...

Возможно ли это?

Спасибо (и извините, я француз ...)

1 Ответ

0 голосов
/ 25 октября 2011

Вы можете попробовать Amyuni PDF Creator .Net для этой задачи. Вы можете использовать метод IacDocument.GetObjectsInRectangle , чтобы получить все «графические объекты», которые вас интересуют:

Метод IacDocument.GetObjectsInRectangle

Метод GetObjectsInRectangle получает все объекты, которые находятся в указанный прямоугольник.

Затем вы можете перебрать все объекты на странице и удалить те, которые вам не интересны:

//open a pdf document
document.Open (testfile,"");
IacPage page1 = document.GetPage (1);
Amyuni.PDFCreator.IacAttribute attribute = page1.AttributeByName ("Objects");
// listobj is an array list of graphic objects
System.Collections.ArrayList listobj = (System.Collections.ArrayList) attribute.Value;
foreach ( object pdfObj in listobj )
{
   // if pdfObj is not in the collection of interest
   // then call pdfObj.Delete();
}

Обновление:
Amyuni PDF Creator .Net версии 5.0 добавляет новый метод IacDocument.Redact , который также может быть полезен в этом сценарии:

Метод Redact извлекает все объекты указанного типа в указанный прямоугольник, удаляет их и рисует сплошной цвет прямоугольник на их месте.

Отказ от ответственности: я работаю в Amyuni Technologies

...