Dears,
I just try to directly copy tokens from one pdf to another. The program run
with no error. But when I open the generated pdf, it shows error.
Could anyone be kind help me? Thank you.
Code like:
PDDocument document2 = new PDDocument(); // target
PDPage newPage = new PDPage(); // new page in the target
document2.addPage( newPage );
PDDocument document1 = PDDocument.load("c:\\a.pdf"); //source
PDDocumentCatalog catalog = document.getDocumentCatalog();
PDPage page = (PDPage) catalog.getAllPages().get(0);
PDFStreamParser parser = new PDFStreamParser(page.getContents());
parser.parse();
List tokens = parser.getTokens();
List newTokens = new ArrayList();
for(int j=0; j<tokens.size(); j++) {
Object token = tokens.get( j );
newTokens.add( token );
}
PDStream newContents = new PDStream(document2 );
ContentStreamWriter writer = new ContentStreamWriter(
newContents.createOutputStream() );
writer.writeTokens( newTokens );
newContents.addCompression();
newPage.setContents(newContents);
document2.save("c:\\new.pdf");