
org.xhtmlrenderer.pdf..ITextRenderer.swp Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of flying-saucer-pdf-itext5 Show documentation
Show all versions of flying-saucer-pdf-itext5 Show documentation
Flying Saucer is a CSS 2.1 renderer written in Java. This artifact supports PDF output with iText 5.x.
b0VIM 7.3 ?NP1? ? pbrant pbrant-P35-DS3L ~pbrant/git/flyingsaucer/flying-saucer-pdf-itext5/src/main/java/org/xhtmlrenderer/pdf/ITextRenderer.java
3210#"! U tp ? d ????c e ????d ? ????j , u ? ad ? d ? ? ? ? t . ? ? ? j ( ?
?
?
b
#
? ? ? ? ? ? t ] > )
? ? ? ? r [ ; : ?
?
|
M
#
? ? ? ? ? o ; ? ? ? X ) ? ? ? w H
? ? ? ? h g J ? ? ? h g 7 ? ? ? ? ? s T S ) ( ? ? s > ? I H ? ? ? ? ? } this(DEFAULT_DOTS_PER_POINT, DEFAULT_DOTS_PER_PIXEL); public ITextRenderer() { private PDFCreationListener _listener; PdfWriter.VERSION_1_5, PdfWriter.VERSION_1_6, PdfWriter.VERSION_1_7 }; private final char[] validPdfVersions = new char[] { PdfWriter.VERSION_1_2, PdfWriter.VERSION_1_3, PdfWriter.VERSION_1_4, private Character _pdfVersion; // use one of the values in PDFWriter.VERSION... // check for null before calling writer.setPdfVersion() // may change between iText releases // note: not hard-coding a default version in the _pdfVersion field as this private PDFEncryption _pdfEncryption; private PdfWriter _writer; private com.itextpdf.text.Document _pdfDoc; private final float _dotsPerPoint; private BlockBox _root; private Document _doc; private final ITextOutputDevice _outputDevice; private final SharedContext _sharedContext; private static final int DEFAULT_DOTS_PER_PIXEL = 20; private static final float DEFAULT_DOTS_PER_POINT = 20f * 4f / 3f; // the inch // These two defaults combine to produce an effective resolution of 96 px to public class ITextRenderer { import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.DocumentException; import org.xml.sax.InputSource; import org.xhtmlrenderer.util.Configuration; import org.xhtmlrenderer.simple.extend.XhtmlNamespaceHandler; import org.xhtmlrenderer.resource.XMLResource; import org.xhtmlrenderer.render.ViewportBox; import org.xhtmlrenderer.render.RenderingContext; import org.xhtmlrenderer.render.PageBox; import org.xhtmlrenderer.render.BlockBox; import org.xhtmlrenderer.layout.SharedContext; import org.xhtmlrenderer.layout.LayoutContext; import org.xhtmlrenderer.layout.Layer; import org.xhtmlrenderer.layout.BoxBuilder; import org.xhtmlrenderer.extend.UserInterface; import org.xhtmlrenderer.extend.NamespaceHandler; import org.xhtmlrenderer.css.style.CalculatedStyle; import org.xhtmlrenderer.context.StyleReference; import org.w3c.dom.Node; import org.w3c.dom.Element; import org.w3c.dom.Document; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.OutputKeys; import java.util.regex.Pattern; import java.util.List; import java.io.Writer; import java.io.UnsupportedEncodingException; import java.io.StringWriter; import java.io.StringReader; import java.io.OutputStream; import java.io.IOException; import java.io.File; import java.io.BufferedReader; import java.awt.Shape; import java.awt.Rectangle; import java.awt.Dimension; package org.xhtmlrenderer.pdf; */ * }}} * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * along with this program; if not, write to the Free Software * You should have received a copy of the GNU Lesser General Public License * * GNU Lesser General Public License for more details. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * but WITHOUT ANY WARRANTY; without even the implied warranty of * This program is distributed in the hope that it will be useful, * * of the License, or (at your option) any later version. * as published by the Free Software Foundation; either version 2.1 * modify it under the terms of the GNU Lesser General Public License * This program is free software; you can redistribute it and/or * * Copyright (c) 2006 Wisconsin Court System * {{{ header & license /* ad X @ u ? ? ? u U + ? ? ; ) ?
?
?
?
?
?
j
9
/
)
(
? ? ? ? x w i ? ? U ?
?
a
5
? ? ? ? ? ` 6 ? ? ? ? ? m g f 2 ? ? t D C ! ? ? ? ? ? w q p 1 ? ? ? ? ? r \ V U 0 ? ? { z . ? ? ? ? ? ? ? _ E ; 5 4 ? ? ? ? ? ? ? ` H B @ ? } } return _writer; public PdfWriter getWriter() { } _listener = listener; public void setListener(PDFCreationListener listener) { } return _listener; public PDFCreationListener getListener() { } } return false; public boolean isFocus(Element e) { } return false; public boolean isActive(Element e) { } return false; public boolean isHover(Element e) { private static final class NullUserInterface implements UserInterface { } return _outputDevice.findPagePositionsByID(newLayoutContext(), pattern); public List findPagePositionsByID(Pattern pattern) { } return _dotsPerPoint; public float getDotsPerPoint() { } return _root; public BlockBox getRootBox() { } _root.exportText(c, writer); c.setPageCount(_root.getLayer().getPages().size()); RenderingContext c = newRenderingContext(); public void exportText(Writer writer) throws IOException { } return _sharedContext; public SharedContext getSharedContext() { } return _outputDevice; public ITextOutputDevice getOutputDevice() { } return result.toString(); result.append("\n"); result.append(metadata); result.append("\n"); StringBuffer result = new StringBuffer(metadata.length() + 50); private String createXPacket(String metadata) { } return null; } n = n.getNextSibling(); } return (Element) n; if (n.getNodeType() == Node.ELEMENT_NODE) { while (n != null) { Node n = element.getFirstChild(); private static Element getFirstChildElement(Element element) { } } throw new RuntimeException(e); } catch (TransformerException e) { throw new RuntimeException(e); // rethrow as runtime exception // Things must be in pretty bad shape to get here so } catch (TransformerConfigurationException e) { return output.toString(); transformer.transform(new DOMSource(target), new StreamResult(output)); StringWriter output = new StringWriter(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); Transformer transformer = factory.newTransformer(); TransformerFactory factory = TransformerFactory.newInstance(); try { } return null; if (target == null) { Element target = getFirstChildElement(element); private String stringfyMetadata(Element element) { } } writer.setPageXmpMetadata(metadata); if (metadata != null) { } } throw new RuntimeException(e); // Can't happen } catch (UnsupportedEncodingException e) { } metadata = createXPacket(stringfyMetadata(page.getMetadata())).getBytes("UTF-8"); if (metadataBody != null) { String metadataBody = stringfyMetadata(page.getMetadata()); try { if (page.getMetadata() != null) { byte[] metadata = null; private void provideMetadataToPage(PdfWriter writer, PageBox page) throws IOException { } _outputDevice.setClip(working);
© 2015 - 2025 Weber Informatics LLC | Privacy Policy