Hi,

is it possible to get a hand on the pdf in question?

BR
Andreas

Am 25.06.2015 um 18:56 schrieb Pierre Dubillot:
I'm having an issue while trying to create an image output :

java.io.IOException: RandomAccessBuffer already closed
at
org.apache.pdfbox.io.RandomAccessBuffer.checkClosed(RandomAccessBuffer.java:433)
at
org.apache.pdfbox.io.RandomAccessBuffer.length(RandomAccessBuffer.java:292)
at org.apache.pdfbox.cos.COSStream.copyBuffer(COSStream.java:361)
at org.apache.pdfbox.cos.COSStream.doDecode(COSStream.java:334)
at
org.apache.pdfbox.cos.COSStream.checkUnfilteredBuffer(COSStream.java:265)
at org.apache.pdfbox.cos.COSStream.getUnfilteredStream(COSStream.java:214)
at
org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:232)
at
org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.loadICCProfile(PDICCBased.java:115)
at
org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.<init>(PDICCBased.java:89)
at
org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.create(PDColorSpace.java:160)
at
org.apache.pdfbox.pdmodel.PDResources.getColorSpace(PDResources.java:111)
at
org.apache.pdfbox.contentstream.operator.color.SetNonStrokingColorSpace.process(SetNonStrokingColorSpace.java:41)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:795)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:462)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:438)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:180)
at org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:205)
at
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:136)
at
org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:81)
at metier.parseur.ParserPDF.pdfImgsToXml(ParserPDF.java:62)
at metier.parseur.ParserPDF.preLoad(ParserPDF.java:45)
at metier.MetierLoader.getPage(MetierLoader.java:34)
at action.ActionLoader.chargerPage(ActionLoader.java:15)
at action.ActionSora.doPost(ActionSora.java:35)


With the following code :

private static String pdfImgsToXml() throws IOException {

int pageNumber = 1;

String imgs = "<imgs>\n";

PDFRenderer renderer = new PDFRenderer(pdf);

int numPages = pdf.getNumberOfPages();

for (int i = 0; i < numPages; i++) {

imgs = imgs + "<img" + pageNumber + ">";

try {

BufferedImage image = renderer.renderImageWithDPI(i, 200);

ByteArrayOutputStream baos = new ByteArrayOutputStream();

ImageIO.write( image, "jpg", baos );

baos.flush();

byte[] imageInByte = baos.toByteArray();

baos.close();

String imgString = Base64.encode(imageInByte);

imgs = imgs + imgString + "</img" + pageNumber + ">\n";

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

  pageNumber++;

}

  return imgs + "</imgs>";

}


My app is running on a Java EE Server, trying to write rendered images to
byte array to put them in XML.
But first I need to render them, and that's not working.

Thanks,
Pierre



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to