List of usage examples for com.itextpdf.tool.xml XMLWorkerHelper getCSS
public static synchronized CssFile getCSS(InputStream in)
From source file:book.pdftemplates.FillTemplateHelper.java
public static ElementList parseHtml(String content, String style, TagProcessorFactory tagProcessors) throws IOException { // CSS// ww w. ja v a2s . c om CSSResolver cssResolver = new StyleAttrCSSResolver(); CssFile cssFile = XMLWorkerHelper.getCSS(new FileInputStream(style)); cssResolver.addCss(cssFile); // HTML HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.setTagFactory(tagProcessors); htmlContext.autoBookmark(false); // Pipelines ElementList elements = new ElementList(); ElementHandlerPipeline end = new ElementHandlerPipeline(elements, null); HtmlPipeline html = new HtmlPipeline(htmlContext, end); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); // XML Worker XMLWorker worker = new XMLWorker(css, true); XMLParser p = new XMLParser(worker); p.parse(new FileInputStream(content)); return elements; }
From source file:com.algoboss.erp.util.report.PDFExporter2.java
License:Apache License
public void export(FacesContext context, String cssstring, String htmlstring, String filename) throws IOException { try {//ww w.j a v a 2 s. com InputStream is = new ByteArrayInputStream(htmlstring.getBytes()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); // step 1 Document document = new Document(); // step 2 PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setInitialLeading(12.5f); // step 3 document.open(); HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); // CSS CSSResolver cssResolver = new StyleAttrCSSResolver(); String[] cssstringArray = cssstring.split(";"); FacesContext aFacesContext = FacesContext.getCurrentInstance(); ServletContext context2 = (ServletContext) aFacesContext.getExternalContext().getContext(); String realPath = context2.getRealPath("/"); System.out.println(realPath); System.out.println(context2.getContextPath()); //System.out.println(context2.getResource("")); System.out.println(aFacesContext.getExternalContext().getContextName()); System.out.println(aFacesContext.getExternalContext().getRequestContextPath() + aFacesContext.getExternalContext().getRequestServletPath()); //System.out.println(aFacesContext.getExternalContext().getRequestServletPath()); //System.out.println(aFacesContext.getExternalContext().getRequestPathInfo()); //System.out.println(aFacesContext.getExternalContext().getRequestScheme()); //System.out.println(aFacesContext.getExternalContext().getRequestScheme()); //System.out.println(Thread.currentThread().getContextClassLoader().getResource("")); for (int i = 0; i < cssstringArray.length; i++) { String cssHref = cssstringArray[i]; try { URL url = new URL(aFacesContext.getExternalContext().getRequestScheme(), aFacesContext.getExternalContext().getRequestServerName(), aFacesContext.getExternalContext().getRequestServerPort(), cssHref); InputStream csspathtest = url.openStream(); CssFile cssfiletest = XMLWorkerHelper.getCSS(csspathtest); cssResolver.addCss(cssfiletest); } catch (IOException ex) { Logger.getLogger(PDFExporter2.class.getName()).log(Level.SEVERE, null, ex); } //String realPath2 = context2.getRealPath(cssHref); //InputStream csspathtest2 = aFacesContext.getExternalContext().getResourceAsStream(realPath2); //System.out.println(cssfiletest); } Pipeline<?> pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(document, writer))); XMLWorker worker = new XMLWorker(pipeline, true); XMLParser p = new XMLParser(worker); p.parse(is, Charset.forName("iso-8859-1"));//new FileInputStream("results/demo2/walden.html")); // step document.close(); // post back... HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse(); response.setContentType("application/pdf"); response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Content-Type", "application/pdf"); response.setHeader("Content-disposition", "inline;filename=\"" + filename + "\";"); response.setContentLength(baos.size()); OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); context.responseComplete(); } catch (IOException e) { throw new IOException(e.getMessage()); } catch (Exception ex) { Logger.getLogger(PDFExporter2.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.apcb.utils.utils.PdfCreator.java
public static String createPdfWStyles(String fileName, String innerHTML, Document document, String CSS, String imagesSourcesPath) throws IOException, DocumentException { log.info("Creando HTML nombre: " + fileName); File fileHTML = new File(fileName); fileHTML.getParentFile().mkdirs();//from w ww . ja va 2 s .co m PrintWriter writerHTML = new PrintWriter(fileHTML, "UTF-8"); writerHTML.println(innerHTML); writerHTML.flush(); writerHTML.close(); log.info("Creado HTML ruta: " + fileHTML.getAbsolutePath()); log.info("Creando PDF nombre: " + fileName + ".pdf"); File filePDF = new File(fileName + ".pdf"); //File file = new File(fileName); filePDF.getParentFile().mkdirs(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(fileName + ".pdf")); document.open(); CSSResolver cssResolver = new StyleAttrCSSResolver(); CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream(CSS.getBytes())); cssResolver.addCss(cssFile); // HTML HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); htmlContext.setImageProvider(new AbstractImageProvider() { @Override public String getImageRootPath() { return imagesSourcesPath; } }); // Pipelines PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer); HtmlPipeline html = new HtmlPipeline(htmlContext, pdf); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); // XML Worker XMLWorker worker = new XMLWorker(css, true); XMLParser p = new XMLParser(worker); p.parse(new ByteArrayInputStream(innerHTML.getBytes())); document.close(); log.info("Creado PDF ruta: " + filePDF.getAbsolutePath()); log.info("filePDF.getName() " + filePDF.getName()); return filePDF.getName(); }
From source file:com.semfapp.adamdilger.semf.Pdf.java
License:Open Source License
private void createPDFNew(String filePath, String htmlString, @Nullable ArrayList<ImageFile> images) { File file = null;/*from w w w . j a v a 2 s . c o m*/ try { file = new File(filePath); // step 1 Document document = new Document(); // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file)); writer.setInitialLeading(12.5f); // step 3 document.open(); // step 4 // CSS CSSResolver cssResolver = new StyleAttrCSSResolver(); CssFile cssFile = XMLWorkerHelper.getCSS(activity.getAssets().open("styles.css")); cssResolver.addCss(cssFile); // HTML HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); // Pipelines PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer); HtmlPipeline html = new HtmlPipeline(htmlContext, pdf); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); // XML Worker XMLWorker worker = new XMLWorker(css, true); XMLParser p = new XMLParser(worker); Drawable d = activity.getResources().getDrawable(R.drawable.logo_icon); Bitmap bitmap = ((BitmapDrawable) d).getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] bitmapData = stream.toByteArray(); Image image = Image.getInstance(bitmapData); image.setAbsolutePosition(35, 763); image.scalePercent(12); document.add(image); p.parse(new ByteArrayInputStream(htmlString.getBytes(StandardCharsets.UTF_8))); if (images != null) { System.out.println("Adding IMage"); for (int x = 0; x < images.size(); x++) { Image cursor = images.get(x).getImage(); float ratio = cursor.getPlainHeight() / cursor.getPlainWidth(); float imgWidth = document.getPageSize().getWidth() - 100; float imgHeight = document.getPageSize().getHeight() - 100; cursor.scaleToFit(new Rectangle(imgWidth, imgHeight)); document.add(cursor); } } // step 5 document.close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:org.freelancertech.poc.itext.ParseHtmlTable1.java
public static byte[] createPdf() throws DocumentException, IOException { try (ByteArrayOutputStream os = new ByteArrayOutputStream();) { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, os); document.open();// ww w . j a v a 2 s .co m ClassLoader classLoader = ParseHtmlTable1.class.getClassLoader(); CSSResolver cssResolver = new StyleAttrCSSResolver(); CssFile cssFile = XMLWorkerHelper.getCSS(classLoader.getResourceAsStream(STYLE_FILE_NAME)); cssResolver.addCss(cssFile); HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer); HtmlPipeline html = new HtmlPipeline(htmlContext, pdf); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); XMLWorker worker = new XMLWorker(css, true); XMLParser p = new XMLParser(worker); InputStream is = classLoader.getResourceAsStream(HTML_FILE_NAME); p.parse(is); document.close(); return os.toByteArray(); } }
From source file:org.freelancertech.poc.itext.ParseHtmlTable1.java
public static byte[] createPdf(String content) throws DocumentException, IOException { try (ByteArrayOutputStream os = new ByteArrayOutputStream();) { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, os); document.open();/*from w w w .j av a2 s.c o m*/ ClassLoader classLoader = ParseHtmlTable1.class.getClassLoader(); CSSResolver cssResolver = new StyleAttrCSSResolver(); CssFile cssFile = XMLWorkerHelper.getCSS(classLoader.getResourceAsStream(STYLE_FILE_NAME)); cssResolver.addCss(cssFile); HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer); HtmlPipeline html = new HtmlPipeline(htmlContext, pdf); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); XMLWorker worker = new XMLWorker(css, true); XMLParser p = new XMLParser(worker); InputStream is = new ByteArrayInputStream(content.getBytes()); p.parse(is); document.close(); return os.toByteArray(); } }
From source file:org.freelancertech.poc.itext.ParseHtmlTable1.java
public static byte[] convertHtmlToPdf(String content) throws IOException, DocumentException { final ClassLoader classLoader = ParseHtmlTable1.class.getClassLoader(); try (ByteArrayOutputStream file = new ByteArrayOutputStream(); InputStream is = new ByteArrayInputStream(content.getBytes());) { final Document document = new Document(); final PdfWriter writer = PdfWriter.getInstance(document, file); document.open();/*from ww w . ja v a 2 s. c o m*/ final TagProcessorFactory tagProcessorFactory = Tags.getHtmlTagProcessorFactory(); tagProcessorFactory.removeProcessor(HTML.Tag.IMG); tagProcessorFactory.addProcessor(new ImageTagProcessor(), HTML.Tag.IMG); final CssFile cssFile = XMLWorkerHelper.getCSS(classLoader.getResourceAsStream(STYLE_FILE_NAME)); final CssFilesImpl cssFiles = new CssFilesImpl(cssFile); //cssFiles.add(XMLWorkerHelper.getInstance().getDefaultCSS()); final StyleAttrCSSResolver cssResolver = new StyleAttrCSSResolver(cssFiles); final HtmlPipelineContext hpc = new HtmlPipelineContext( new CssAppliersImpl(new XMLWorkerFontProvider())); hpc.setAcceptUnknown(true).autoBookmark(true).setTagFactory(tagProcessorFactory); final HtmlPipeline htmlPipeline = new HtmlPipeline(hpc, new PdfWriterPipeline(document, writer)); final Pipeline<?> pipeline = new CssResolverPipeline(cssResolver, htmlPipeline); final XMLWorker worker = new XMLWorker(pipeline, true); final Charset charset = Charset.forName("UTF-8"); final XMLParser xmlParser = new XMLParser(true, worker, charset); xmlParser.parse(is, charset); document.close(); return file.toByteArray(); } }
From source file:org.saiku.web.export.PdfReport.java
License:Apache License
public void populatePdf(Document doc, PdfWriter writer, QueryResult qr) throws Exception { Long start = (new Date()).getTime(); String content = JSConverter.convertToHtml(qr); DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm"); Date date = new Date(); content = "<p>" + "Saiku Export - " + dateFormat.format(date) + "</p><p> </p>" + content; InputStream contentIs = new ByteArrayInputStream(content.getBytes("UTF-8")); Long rhino = (new Date()).getTime(); // CSS/*from w w w .j a v a2 s .co m*/ CSSResolver cssResolver = new StyleAttrCSSResolver(); CssFile cssFile = XMLWorkerHelper.getCSS(getClass().getResourceAsStream("saiku.table.pdf.css")); cssResolver.addCss(cssFile); // HTML XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(); fontProvider.defaultEncoding = "UTF-8"; CssAppliers cssAppliers = new CssAppliersImpl(fontProvider); HtmlPipelineContext htmlContext = new HtmlPipelineContext(cssAppliers); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); // Pipelines PdfWriterPipeline pdf = new PdfWriterPipeline(doc, writer); HtmlPipeline html = new HtmlPipeline(htmlContext, pdf); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); XMLWorker worker = new XMLWorker(css, true); XMLParser p = new XMLParser(worker); p.parse(contentIs, true); Long parse = (new Date()).getTime(); LOG.debug("PDF Output - JSConverter: " + (rhino - start) + "ms PDF Render: " + (parse - rhino) + "ms"); }
From source file:org.smap.sdal.managers.PDFSurveyManager.java
License:Open Source License
private Parser getXMLParser() { Parser parser = new Parser(); // CSS/*from w ww. j av a2 s. c o m*/ CSSResolver cssResolver = new StyleAttrCSSResolver(); FileInputStream fis = null; try { fis = new FileInputStream(DEFAULT_CSS); CssFile cssFile = XMLWorkerHelper.getCSS(fis); cssResolver.addCss(cssFile); } catch (Exception e) { log.log(Level.SEVERE, "Failed to get CSS file", e); cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(true); } finally { try { fis.close(); } catch (Exception e) { } } // Pipelines parser.elements = new ElementList(); ElementHandlerPipeline end = new ElementHandlerPipeline(parser.elements, null); String os = System.getProperty("os.name"); log.info("Operating System:" + os); XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(); if (os.startsWith("Mac")) { fontProvider.register("/Library/Fonts/NotoSansBengali-Regular.ttf", BaseFont.IDENTITY_H); fontProvider.register("/Library/Fonts/NotoNaskhArabic-Regular.ttf", BaseFont.IDENTITY_H); fontProvider.register("/Library/Fonts/NotoSansBengali-Bold.ttf", BaseFont.IDENTITY_H); fontProvider.register("/Library/Fonts/NotoSans-Regular.ttf", BaseFont.IDENTITY_H); fontProvider.register("/Library/Fonts/NotoSans-Bold.ttf", BaseFont.IDENTITY_H); } else if (os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0 || os.indexOf("aix") > 0) { // Linux / Unix fontProvider.register("/usr/share/fonts/truetype/NotoSansBengali-Regular.ttf", BaseFont.IDENTITY_H); fontProvider.register("/usr/share/fonts/truetype/NotoNaskhArabic-Regular.ttf", BaseFont.IDENTITY_H); fontProvider.register("/usr/share/fonts/truetype/NotoNaskhArabic-Regular.ttf", BaseFont.IDENTITY_H); fontProvider.register("/usr/share/fonts/truetype/NotoSans-Regular.ttf", BaseFont.IDENTITY_H); fontProvider.register("/usr/share/fonts/truetype/NotoSans-Bold.ttf", BaseFont.IDENTITY_H); } /* System.out.println("Fonts present in " + fontProvider.getClass().getName()); Set<String> registeredFonts = fontProvider.getRegisteredFonts(); for (String font : registeredFonts) System.out.println(font); */ CssAppliers cssAppliers = new CssAppliersImpl(fontProvider); // HTML HtmlPipelineContext htmlContext = new HtmlPipelineContext(cssAppliers); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); htmlContext.autoBookmark(false); HtmlPipeline html = new HtmlPipeline(htmlContext, end); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); XMLWorker worker = new XMLWorker(css, true); parser.xmlParser = new XMLParser(worker); return parser; }
From source file:org.smap.sdal.managers.PDFTableManager.java
License:Open Source License
private Parser getXMLParser() { Parser parser = new Parser(); // CSS/*from www. j a v a 2 s. c om*/ CSSResolver cssResolver = new StyleAttrCSSResolver(); FileInputStream fis = null; try { fis = new FileInputStream(DEFAULT_CSS); CssFile cssFile = XMLWorkerHelper.getCSS(fis); cssResolver.addCss(cssFile); } catch (Exception e) { log.log(Level.SEVERE, "Failed to get CSS file", e); cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(true); } finally { try { fis.close(); } catch (Exception e) { } } // HTML HtmlPipelineContext htmlContext = new HtmlPipelineContext(null); htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory()); htmlContext.autoBookmark(false); // Pipelines parser.elements = new ElementList(); ElementHandlerPipeline end = new ElementHandlerPipeline(parser.elements, null); HtmlPipeline html = new HtmlPipeline(htmlContext, end); CssResolverPipeline css = new CssResolverPipeline(cssResolver, html); // XML Worker XMLWorker worker = new XMLWorker(css, true); parser.xmlParser = new XMLParser(worker); return parser; }