Witam napisałem taki oto kod żeby wygenerowac przykladową stronę pdf i rzuca mi wyjątek :
java.io.IOException: Stream closed
at java.io.BufferedInputStream.getInIfOpen(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at org.xhtmlrenderer.css.parser.Lexer.zzRefill(Lexer.java:1634)
at org.xhtmlrenderer.css.parser.Lexer.yylex(Lexer.java:1865)
at org.xhtmlrenderer.css.parser.CSSParser.next(CSSParser.java:1807)
at org.xhtmlrenderer.css.parser.CSSParser.la(CSSParser.java:1819)
at org.xhtmlrenderer.css.parser.CSSParser.stylesheet(CSSParser.java:159)
at org.xhtmlrenderer.css.parser.CSSParser.parseStylesheet(CSSParser.java:89)
at org.xhtmlrenderer.context.StylesheetFactoryImpl.parse(StylesheetFactoryImpl.java:78)
at org.xhtmlrenderer.context.StylesheetFactoryImpl.parse(StylesheetFactoryImpl.java:95)
at org.xhtmlrenderer.context.StylesheetFactoryImpl.getStylesheet(StylesheetFactoryImpl.java:174)
at org.xhtmlrenderer.context.StyleReference.readAndParseAll(StyleReference.java:123)
at org.xhtmlrenderer.context.StyleReference.setDocumentContext(StyleReference.java:107)
at org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:176)
at org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:143)
at pl.ivmx.warsztaty6.raport.testingPDF.main(testingPDF.java:38)
Mój kod:
public class testingPDF {
public static void main (String[]args)
{
StringBuffer buf = new StringBuffer();
buf.append("<html>");
buf.append("<head><link rel='stylesheet' type='text/css' "+
"href='contentCss.css' media='print'/></head> <body> <p> HELLO WORLD </p> </body> </html> ");
//generate the rest of the HTML
// parse our markup into an xml Document
try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = (Document) builder.parse(new ByteArrayInputStream(buf.toString().getBytes("UTF-8")));
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument( doc, null);
renderer.layout();
File file=new File("FirstPDF.pdf");
OutputStream os=new FileOutputStream(file);
renderer.createPDF(os);
os.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}