c# - ABCPDF: Split PDF files into single page PDF files -


i using abcpdf tool , trying split 1tb of pdf files (so efficiency concern) single page pdf files.

i have tried following:

doc thesrc = new doc(); thesrc.read("c://development//pdfsplitter//bxdfbc91ca-fc05-4315-8c40-798a77431ee0xp.pdf");  (int = 1; <= thesrc.pagecount; i++) {        doc singlepagepdf = new doc();     singlepagepdf.rect.string = singlepagepdf.mediabox.string = thesrc.mediabox.string;     singlepagepdf.addpage();     singlepagepdf.addimagedoc(thesrc, i, null);     singlepagepdf.framerect();     singlepagepdf.save("c://development//pdfsplitter//singlepdf//singlepage"+i+".pdf");     singlepagepdf.clear(); } thesrc.clear(); 

this 1 fast not keep rotated pages , need be. tried rotate them manually got bit messy , did not come out precise way in original document.

i have tried:

doc thesrc = new doc(); thesrc.read("c://development//pdfsplitter//bxdfbc91ca-fc05-4315-8c40-798a77431ee0xp.pdf"); (int = 1; <= thesrc.pagecount; i++) {       doc singlepagepdf = new doc();     singlepagepdf.append(thesrc);     singlepagepdf.remappages(i.tostring());     singlepagepdf.save("c://development//pdfsplitter//singlepdf//singlepage"+i+".pdf");     singlepagepdf.clear(); } thesrc.clear(); 

this 1 6 times slower(on large documents) first 1 keeps formatting of rotated pages , important. problem 1 have append whole document , remove unwanted pages again. done pages in file inefficient.

can me on matter?

so talked support @ websupergoo (the creators of abcpdf) , gave me following:

doc thesrc = new doc(); thesrc.read("c://development//pdfsplitter//bxdfbc91ca-fc05-4315-8c40-798a77431ee0xp.pdf");  int srcpagesid = thesrc.getinfoint(thesrc.root, "pages"); int srcdocrot = thesrc.getinfoint(srcpagesid, "/rotate");  (int = 1; <= thesrc.pagecount; i++) {        doc singlepagepdf = new doc();     singlepagepdf.rect.string = singlepagepdf.mediabox.string = thesrc.mediabox.string;     singlepagepdf.addpage();     singlepagepdf.addimagedoc(thesrc, i, null);     singlepagepdf.framerect();      int srcpagerot = thesrc.getinfoint(thesrc.page, "/rotate");     if (srcdocrot != 0)     {         singlepagepdf.setinfo(singlepagepdf.page, "/rotate", srcdocrot);     }     if (srcpagerot != 0)     {         singlepagepdf.setinfo(singlepagepdf.page, "/rotate", srcpagerot);     }      singlepagepdf.save("c://development//pdfsplitter//singlepdf//singlepage"+i+".pdf");     singlepagepdf.clear(); } thesrc.clear(); 

this solution equal first solution incorporates page rotation , fast.

i hope can others well.


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -