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
Post a Comment