unfortunately, our client really need to merge a 2G or 3G pdf file, it would be at least 2G. any body can give me some hints to modify the ITEXT or find another API? thanks so much..
cheers, Davy lee Robert Engels wrote: > > iText uses a memory mapped file. You may not enough enough contigiuos > address space to map a file that large. > > iText needs to be changed to support a simple RandomAccessFile and > then it would work. > > Doesn't matter anyway, since two 1.6 gig files would be larger than 2 > gig... > > > On Dec 18, 2006, at 3:43 AM, Davy Lee wrote: > >> >> When I tried to process two 1.6G pdf file, an error occured: >> >> java.io.IOException: Not enough storage is available to process >> this command >> at sun.nio.ch.FileChannelImpl.map0(Native Method) >> at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:742) >> at >> com.lowagie.text.pdf.MappedRandomAccessFile.init >> (MappedRandomAccessFile.java:103) >> at >> com.lowagie.text.pdf.MappedRandomAccessFile.<init> >> (MappedRandomAccessFile.java:87) >> at >> com.lowagie.text.pdf.RandomAccessFileOrArray.<init> >> (RandomAccessFileOrArray.java:121) >> at >> com.lowagie.text.pdf.RandomAccessFileOrArray.<init> >> (RandomAccessFileOrArray.java:80) >> at com.lowagie.text.pdf.PRTokeniser.<init>(PRTokeniser.java: >> 108) >> at com.lowagie.text.pdf.PdfReader.<init>(PdfReader.java:155) >> at com.lowagie.text.pdf.PdfReader.<init>(PdfReader.java:145) >> at sticker.Main.main(Main.java:60) >> >> >> it means that the error occured at : >> reader = new PdfReader(new RandomAccessFileOrArray(fileList >> [docNum]), >> null); >> >> however, in the book "ITEXT in action" said: using new >> RandomAccessFileOrArray(fileList[docNum]) >> in the pdfreader constructor will partial read the original file, I'm >> confusing. >> >> if the error occurs in the pdfReader constructor, it will be still >> no useful >> to rewrite the pdfcopy class or >> the pdfwriter class. >> >> cheers, >> Davy Lee >> >> >> >> >> Paulo Soares wrote: >>> >>> The total size of the file can't be 2G so it would be like two 1G >>> files. >>> Doing this will always take a lot of time and a lot of memory >>> unless the >>> number of pages is small. To merge such big files efficiently >>> you'd have >>> to >>> create a customized PdfCopy. >>> >>> Paulo >>> >>> ----- Original Message ----- >>> From: "Davy Lee" <[EMAIL PROTECTED]> >>> To: <[email protected]> >>> Sent: Monday, December 18, 2006 8:31 AM >>> Subject: Re: [iText-questions] How to merge two 3G size pdf fast >>> >>> >>>> >>>> Dear Paulo, >>>> even for two 2G pdf file, do u have a better sosution to merge them, >>>> sometimes I don't need to modify the pages, sometime I do. >>>> cheers. >>>> >>>> Davy lee >>>> >>>> >>>> Paulo Soares wrote: >>>>> >>>>> You'll certainly won't use iText to do this. iText has a 2G size >>>>> limitation. >>>>> >>>>> Paulo >>>>> >>>>> ----- Original Message ----- >>>>> From: "Davy Lee" <[EMAIL PROTECTED]> >>>>> To: <[email protected]> >>>>> Sent: Monday, December 18, 2006 4:11 AM >>>>> Subject: [iText-questions] How to merge two 3G size pdf fast >>>>> >>>>> >>>>>> >>>>>> I have two 3G size pdf files, we need to use ITEXT to merge >>>>>> them into >>>>>> one >>>>>> single new pdf document. >>>>>> However, to do this will waste too much time to finished it. It >>>>>> would >>>>>> cost >>>>>> us about half days to finish >>>>>> to merging process. Do u guys have any new solution to do it? >>>>>> cheers. >>>>>> My code is below: >>>>>> >>>>>> //pdf files array list. >>>>>> String [] fileList = {"sample1.pdf","sample2.pdf"}; >>>>>> >>>>>> Document document; >>>>>> PdfCopy copy; >>>>>> PdfReader reader; >>>>>> >>>>>> try >>>>>> { // step 1 >>>>>> document = new Document(); >>>>>> // step 2 >>>>>> copy = new PdfCopy(document, new FileOutputStream( >>>>>> "sample_Combination.pdf")); >>>>>> // step 3 >>>>>> document.open(); >>>>>> for(int docNum=0; docNum<fileList.length;docNum++) >>>>>> { >>>>>> reader = new PdfReader(new >>>>>> RandomAccessFileOrArray(fileList[docNum]), null); >>>>>> int pages = reader.getNumberOfPages(); >>>>>> // step 4 >>>>>> for (int pageNum = 0; pageNum < pages; ) >>>>>> { >>>>>> ++pageNum; >>>>>> copy.addPage(copy.getImportedPage(reader, >>>>>> pageNum)); >>>>>> }//iterate page loop. >>>>>> }// iterate doc loop. >>>>>> >>>>>> // step 5 >>>>>> document.close(); >>>>>> >>>>>> >>>>>> >>>>>> } >>>>>> catch(IOException e) >>>>>> { >>>>>> e.printStackTrace(); >>>>>> } >>>>>> catch (DocumentException e) >>>>>> { >>>>>> e.printStackTrace(); >>>>>> } >>>>>> >>>>>> very big thanks in advance. >>>>>> -- >>>>>> View this message in context: >>>>>> http://www.nabble.com/How-to-merge-two-3G-size-pdf-fast- >>>>>> tf2837983.html#a7923347 >>>>>> Sent from the iText - General mailing list archive at Nabble.com. >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------ >>>>>> ------- >>>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>>> Join SourceForge.net's Techsay panel and you'll get the chance >>>>>> to share >>>>>> your >>>>>> opinions on IT & business topics through brief surveys - and >>>>>> earn cash >>>>>> http://www.techsay.com/default.php? >>>>>> page=join.php&p=sourceforge&CID=DEVDEV >>>>>> _______________________________________________ >>>>>> iText-questions mailing list >>>>>> [email protected] >>>>>> https://lists.sourceforge.net/lists/listinfo/itext-questions >>>>>> Buy the iText book: http://itext.ugent.be/itext-in-action/ >>>>> >>>>> >>>>> ------------------------------------------------------------------- >>>>> ------ >>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>> Join SourceForge.net's Techsay panel and you'll get the chance >>>>> to share >>>>> your >>>>> opinions on IT & business topics through brief surveys - and >>>>> earn cash >>>>> http://www.techsay.com/default.php? >>>>> page=join.php&p=sourceforge&CID=DEVDEV >>>>> _______________________________________________ >>>>> iText-questions mailing list >>>>> [email protected] >>>>> https://lists.sourceforge.net/lists/listinfo/itext-questions >>>>> Buy the iText book: http://itext.ugent.be/itext-in-action/ >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/How-to-merge-two-3G-size-pdf-fast- >>>> tf2837983.html#a7925099 >>>> Sent from the iText - General mailing list archive at Nabble.com. >>>> >>>> >>>> -------------------------------------------------------------------- >>>> ----- >>>> Take Surveys. Earn Cash. Influence the Future of IT >>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>> share >>>> your >>>> opinions on IT & business topics through brief surveys - and earn >>>> cash >>>> http://www.techsay.com/default.php? >>>> page=join.php&p=sourceforge&CID=DEVDEV >>>> _______________________________________________ >>>> iText-questions mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/itext-questions >>>> Buy the iText book: http://itext.ugent.be/itext-in-action/ >>> >>> >>> --------------------------------------------------------------------- >>> ---- >>> Take Surveys. Earn Cash. Influence the Future of IT >>> Join SourceForge.net's Techsay panel and you'll get the chance to >>> share >>> your >>> opinions on IT & business topics through brief surveys - and earn >>> cash >>> http://www.techsay.com/default.php? >>> page=join.php&p=sourceforge&CID=DEVDEV >>> _______________________________________________ >>> iText-questions mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/itext-questions >>> Buy the iText book: http://itext.ugent.be/itext-in-action/ >>> >>> >> >> -- >> View this message in context: http://www.nabble.com/How-to-merge- >> two-3G-size-pdf-fast-tf2837983.html#a7925842 >> Sent from the iText - General mailing list archive at Nabble.com. >> >> >> ---------------------------------------------------------------------- >> --- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to >> share your >> opinions on IT & business topics through brief surveys - and earn cash >> http://www.techsay.com/default.php? >> page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> iText-questions mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/itext-questions >> Buy the iText book: http://itext.ugent.be/itext-in-action/ > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > Buy the iText book: http://itext.ugent.be/itext-in-action/ > > -- View this message in context: http://www.nabble.com/How-to-merge-two-3G-size-pdf-fast-tf2837983.html#a7943588 Sent from the iText - General mailing list archive at Nabble.com. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ iText-questions mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/
