PDFedit Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000289 [PDFedit] =Other (Kernel)= feature always 02-19-09 10:00 03-27-09 15:22
Reporter hockm0bm View Status public  
Assigned To hockm0bm
Priority high Resolution fixed  
Status resolved   Product Version 0.4.2
Summary 0000289: Implement CPdf::flaten method
Description Sometimes it is useful to throw away the history of changes done to the document:
    1) shrink the document size
    2) hide the changes (they are confidential, etc...)
    3) history is useless
    4) ???

This can be implemented as a new {CPdf,XRefWriter}::flaten method which would simply (like Delinearizator::delinearize) write all existing objects to the separate file.

Even though this kind of implementation is not 100% correct (deleted objects are not really deleted so they would still be present in the result document) but it is good starter for 2) and 3) and also partly for 1) (if we are making only changes to the content stream - not to page tree like page removing)
Additional Information
Attached Files  flattener_v1.tar.gz [^] (14,569 bytes) 03-15-09 20:00

- Relationships

- Notes
03-15-09 19:59

Patchset which implements this functionality is in out devel mailing list as RFC. If there are no objections I will commit sometime during next week.

The basic idea behind the implementation is in absatracted PdfDocumentWriter which provides all the functionality except for selection of objects to be written. This is done by Flattener (descendant of PdfDocumentWriter).

In this patchset, Delinearizator is also transformed to PdfDocumentWriter.
03-15-09 20:00

flattener_v1.tar.gz is the first RFC version of the patchset
03-27-09 15:22

Patchset has been committed to the CVS.

- Issue History
Date Modified Username Field Change
02-19-09 10:00 hockm0bm New Issue
02-19-09 10:00 hockm0bm Status new => assigned
02-19-09 10:00 hockm0bm Assigned To  => hockm0bm
03-15-09 19:59 hockm0bm Note Added: 0000745
03-15-09 20:00 hockm0bm File Added: flattener_v1.tar.gz
03-15-09 20:00 hockm0bm Note Added: 0000746
03-27-09 15:22 hockm0bm Status assigned => resolved
03-27-09 15:22 hockm0bm Fixed in Version  => CVS
03-27-09 15:22 hockm0bm Resolution open => fixed
03-27-09 15:22 hockm0bm Note Added: 0000768