java - How to build a PDF file under multiple threads document.close() performance? -
i build pdf file under multiple threads , add text embedded font(the font true type unicode encoding). code snippet below:
basefont basefont = basefont.createfont("/pathto/font.ttf", basefont.identity_h, basefont.embedded); font chinesefont = new font(basefont, 14, font.bold); pdfreader pdfreader = new pdfreader(tmpfile); document doc = new document(pdfreader.getpagesize(1), 50, 50, 50, 50); bytearrayoutputstream baos = new bytearrayoutputstream(); pdfwriter pdfwriter = pdfwriter.getinstance(doc, baos); pdfwriter.setencryption(null, null, pdfwriter.allow_copy, pdfwriter.standard_encryption_128); doc.open(); pdfimportedpage importpage = pdfwriter.getimportedpage(pdfreader, 1); doc.newpage(); pdfcontent.addtemplate(importpage, 0, 0); doc.add(new paragraph("測試", chinesefont)); //chinese-characters doc.close(); //**takes long time**
but doc.close() takes long time. problem?
at java/io/filedescriptor.read(native method) @ java/io/filedescriptor.read(filedescriptor.java:73(compiled code)) @ java/io/randomaccessfile.read(randomaccessfile.java:319(compiled code)) @ com/lowagie/text/pdf/randomaccessfileorarray.read(randomaccessfileorarray.java:183(compiled code)) @ com/lowagie/text/pdf/randomaccessfileorarray.readint(randomaccessfileorarray.java:482(compiled code)) @ com/lowagie/text/pdf/truetypefontsubset.readloca(truetypefontsubset.java:276(compiled code)) @ com/lowagie/text/pdf/truetypefontsubset.process(truetypefontsubset.java:139(compiled code)) @ com/lowagie/text/pdf/truetypefontunicode.writefont(truetypefontunicode.java:379(compiled code)) @ com/lowagie/text/pdf/fontdetails.writefont(fontdetails.java:280(compiled code)) @ com/lowagie/text/pdf/pdfwriter.addsharedobjectstobody(pdfwriter.java:1251(compiled code)) @ com/lowagie/text/pdf/pdfwriter.close(pdfwriter.java:1173(compiled code)) @ com/lowagie/text/pdf/pdfdocument.close(pdfdocument.java:830(compiled code)) @ com/lowagie/text/document.close(document.java:495(compiled code))
Comments
Post a Comment