iText/iTextSharp 5.5.0 has error with pdf burst -
below code works fine on itextsharp 5.2.1
var file= new fileinfo(args[0]); string name = file.name.substring(0,file.name.lastindexof(".")); // create reader document var reader = new pdfreader(args[0]); // retrieve total number of pages int numberofpages = reader.numberofpages; console.writeline("there " + n + " pages in original file."); document document; string filename; pdfcopy copy; (int pagenumber = 1; <= numberofpages; i++) { filename = pagenumber.tostring(); filename = "_" + filename + ".pdf"; // step 1: creation of document-object document = new document(reader.getpagesizewithrotation(pagenumber )); // step 2: create writer listens document copy = new pdfcopy(document, new filestream(name + filename,filemode.create)); // step 3: open document document.open(); copy.addpage(copy.getimportedpage(reader, pagenumber)); // step 5: close document document.close(); } but throws below error on itextsharp 5.5.0,
the page 1 requested document has 0 pages.
it seems last line tampered reader instance. me figure out? walkaround recreating pdfreader instance each page, slow large pdf file.
itextsharp page numbers one-based, not zero. these 2 lines accounting correctly:
pagenumber = + 1; document = new document(reader.getpagesizewithrotation(pagenumber)); however line still going zero-based index of loop:
copy.addpage(copy.getimportedpage(reader, i)); you change to:
copy.addpage(copy.getimportedpage(reader, pagenumber)); of make entire loop one-based , not think having add 1 every once in while
for (int pagenumber = 1; pagenumber <= n; pagenumber++) { filename = pagenumber.tostring(); while (filename.length< digits) filename = "0" + filename; filename = "_" + filename + ".pdf"; // step 1: creation of document-object document = new document(reader.getpagesizewithrotation(pagenumber)); // step 2: create writer listens document copy = new pdfcopy(document, new filestream(name+filename,filemode.create)); // step 3: open document document.open(); copy.addpage(copy.getimportedpage(reader, pagenumber)); // step 5: close document document.close(); }
Comments
Post a Comment