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

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -