XML/XHTML and CSS 2.1 renderer in pure Java

Related tags

PDF flyingsaucer
Overview

Flying Saucer Download License: LGPL v2.1

OVERVIEW

Flying Saucer is a pure-Java library for rendering arbitrary well-formed XML (or XHTML) using CSS 2.1 for layout and formatting, output to Swing panels, PDF, and images.

Comprehensive documentation available in our user's guide, linked from our website at https://code.google.com/archive/p/flying-saucer/

For information on our development releases, please contact us on our mailing lists.

If you end up using Flying Saucer for your own projects, please drop us an email and tell us about it; it helps inform where we go next, and is interesting and inspiring to other developers.

LICENSE

Flying Saucer is distributed under the LGPL. Flying Saucer itself is licensed under the GNU Lesser General Public License, version 2.1 or later, available at http://www.gnu.org/copyleft/lesser.html. You can use Flying Saucer in any way and for any purpose you want as long as you respect the terms of the license. A copy of the LGPL license is included as LICENSE-LGPL-2.1.txt or LICENSE-LGPL-3.txt in our distributions and in our source tree.

Flying Saucer uses a couple of FOSS packages to get the job done. A list of these, along with the license they each have, is listed in the LICENSE file in our distribution.

GETTING FLYING SAUCER

New releases of Flying Saucer are distributed through Maven. The available artifacts are:

  • org.xhtmlrenderer:flying-saucer-core - Core library and Java2D rendering
  • org.xhtmlrenderer:flying-saucer-pdf - PDF output using iText 2.x
  • org.xhtmlrenderer:flying-saucer-pdf-itext5 - PDF output using iText 5.x
  • org.xhtmlrenderer:flying-saucer-pdf-openpdf - PDF output using OpenPDF
  • org.xhtmlrenderer:flying-saucer-swt - SWT output
  • org.xhtmlrenderer:flying-saucer-log4j - Logging plugin for log4j

iText 2.x has unfixed security bugs. New projects should avoid it.

GETTING STARTED

There is a large amount of sample code under the flying-saucer-examples directory.

flying-saucer-core, flying-saucer-pdf, and flying-saucer-swt must be on the build path, as well as the SWT JAR for your OS.

org.xhtmlrenderer.demo.browser.BrowserStartup will start the browser demo.

Some good entry points (classes) are:

  • org.xhtmlrenderer.simple.XHTMLPanel
  • org.xhtmlrenderer.simple.PDFRenderer
  • org.xhtmlrenderer.simple.ImageRenderer

STATE OF THE PROJECT

Ongoing discussions are carried out in our online discussion group.

Excerpt from the latest merge/release policy:

If you create a PR that can merge without conflicts, I'll merge it. I might ask for additional changes (or feedback from others), but I expect that will be extremely rare.

The basic contract is this: If you're still using Flying Saucer, need something changed, and are willing to do the work yourself, the change will be accepted and released.

Along that line, please also let me know if you need a release done right away. Otherwise I'll bundle up the changes and do a release every four to six months as long as it's required.

This is also the reason why Issues are currently deactivated on GitHub.

HISTORIC LINKS

Comments
  • Resolves ClassCastException for grid layouts

    Resolves ClassCastException for grid layouts

    The Problem

    When running ITextRenderer.layout() on a grid formatted html file, you would get:

    java.lang.ClassCastException: org.xhtmlrenderer.render.BlockBox cannot be cast to org.xhtmlrenderer.newtable.TableBox
    

    A great example would be to tagsoup http://twitter.github.com/bootstrap/

    The Solution

    An extra check to block the exception from bubbling to the surface. This simple change resolves:

    • http://code.google.com/p/flying-saucer/issues/detail?id=144

    Thank you for a such a great library!

    opened by philcali 20
  • Border Radius Implementation

    Border Radius Implementation

    Heres is full border radius support. Known Issues that should be patched prior to a release are as follows:

    • Set px value under shorthand BORDER_RADIUS is not computed correctly for DPI
    • Declarations around the CSSName.BORDER_****_RADIUS should be cleaned up and re organized to be more logical and return consistant types to the BorderRadiusCorner class
    • BorderRadius sides are not automatically fixed when the total radius of one side excedes its width/height. This will need to be completed after the CSS parsing issues have been resolved. (you can observe this by setting border-radius: 100%, they should be normailzed to 50% because 1 side cannot have over 100%...).
    • Overflow: hidden doesnt not work properly, setClip needs to be called prior to drawing children of the Block Element.

    Let me know if you have any questions or things you would like me to change with the implementation. I had a very difficult time trying to figure out how to get the CSS parsing to work the way I wanted it to but I am sure you can figure it out easily.

    Note: I did most my testing using iText 2.17, additional testing should be done with Swing and iText5

    opened by nedjs 15
  • PDF bookmarks from HTML outline – clean and polish

    PDF bookmarks from HTML outline – clean and polish

    Amends #103

    • Use separate values for "none" (no) bookmark but consider children, and "exclude" tree from outline;
    • Expand a bit on documentation;
    • Add automatic HTML outline with the iText 5 library, also.
    opened by stanio 8
  • Fix for Google Code Issue 231: Bold font emulation for PDF rendering causes black borders around each letter

    Fix for Google Code Issue 231: Bold font emulation for PDF rendering causes black borders around each letter

    As described in Google Code Issue 231, using bold font emulation causes a black border around the text.

    This was happening because the stroke colour wasn't getting set prior to rendering the text.

    opened by agibagib 7
  • Avoid line breaking before punctuation characters.

    Avoid line breaking before punctuation characters.

    Follow-up fix for pull request #60

    This introduces a new BreakIterator that delegates to BreakIterator.getLineInstance to retrieve break points. Additionally it provides breakpoints in long URLs at slash characters.

    @pbrant @tobymckoi @kmtong Would be nice if you could test this and let me know how it works for you.

    opened by jensrutschmann 7
  • avoid extra calls to TransformerFactory.newInstance()

    avoid extra calls to TransformerFactory.newInstance()

    We found this to be a hot spot in profiling our application, and this change sped things up noticeably. It didn't break anything obvious, but we would appreciate any thoughts on whether this is a safe change. Thanks!

    opened by jerith666 7
  • add _pdfPageEvents to ItextRenderer

    add _pdfPageEvents to ItextRenderer

    ITextRenderer to allow pageEvents

    When rendering HTML to PDF using ITextRenderer there is no possibility to set the page events (such as header or footers) because the PdfWriter is build inside the createPDF method.

    Similarly to _pdfVersion and _pdfEncryption field, there should be a _pdfPageEvents field to set events on the PdfWriter before rendering.

    opened by riccardo-noviello 6
  • Fix NPE when contentLimitContainer is null

    Fix NPE when contentLimitContainer is null

    In our project, we are using flying saucer to convert HTML to PDF. It works great but we have a complex HTML case with several tables which throws NPE:

    Caused by: java.lang.NullPointerException
    	at org.xhtmlrenderer.newtable.TableCellBox.isNeedsClipOnPaint(TableCellBox.java:866)
    	at org.xhtmlrenderer.layout.BoxCollector.saveRangeData(BoxCollector.java:157)
    	at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:145)
    	at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139)
    	at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139)
    	at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139)
    	at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139)
    	at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139)
    	at org.xhtmlrenderer.layout.Layer.paintAsLayer(Layer.java:462)
    	at org.xhtmlrenderer.render.BlockBox.paintInline(BlockBox.java:265)
    	at org.xhtmlrenderer.layout.Layer.paintInlineContent(Layer.java:274)
    	at org.xhtmlrenderer.layout.Layer.paintAsLayer(Layer.java:469)
    	at org.xhtmlrenderer.render.BlockBox.paintInline(BlockBox.java:265)
    	at org.xhtmlrenderer.layout.Layer.paintInlineContent(Layer.java:274)
    	at org.xhtmlrenderer.layout.Layer.paint(Layer.java:332)
    	at org.xhtmlrenderer.layout.Layer.paintLayers(Layer.java:165)
    	at org.xhtmlrenderer.layout.Layer.paint(Layer.java:340)
    	at org.xhtmlrenderer.pdf.ITextRenderer.paintPage(ITextRenderer.java:432)
    	at org.xhtmlrenderer.pdf.ITextRenderer.writePDF(ITextRenderer.java:380)
    	at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:333)
    	at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:297)
    

    We use the -fs-table-paginate:

    table {
      -fs-table-paginate: paginate;
    }
    

    Here a PR which fixes the problem. It's very hard for me to detect the well HTML content which causes the problem, so it's difficult for me to provide you a snippet which causes the problem. Hope you will OK to merge it. Thanks!

    opened by angelozerr 5
  • Clean XMLResource up

    Clean XMLResource up

    Related to my comment to #98, here are my suggestions.

    Have a look at the first two:

    • Ensure no external entities get loaded
    • ... or set it up already in FSEntityResolver (?)

    If you're fine with the later – I'll just squash the two, otherwise I'll rewrite to leave just the first.

    The cleanup part is probably rather obvious.

    I'm open for suggestions regarding the last one:

    • Cache and reuse parser instances

    I've given alternative approach in the commit message for that one.

    opened by stanio 5
  • Replaced javax.xml.bind.DatatypeConverter with java.util.Base64

    Replaced javax.xml.bind.DatatypeConverter with java.util.Base64

    The jaxb APIs which include javax.xml.bind.DatatypeConverter are considered "Java EE" and are no longer contained by default in Java 9+. Since DatatypeConverter was only used for Base64 decoding, I've replaced it with java.util.Base64 which should always exist.

    opened by maltalex 4
  • Create bookmarks from HTML outline automatically

    Create bookmarks from HTML outline automatically

    1. Doesn't need non-standard elements in the <head> which most likely duplicate the HTML outline
    2. Doesn't require explicit anchors present
    3. Simple usage – automatic, and allows for fine customization with data-pdf-bookmark attribute hints

    When bookmarks have been already defined using <bookmarks> – no result change. To suppress the automatic bookmarks generation completely one could specify:

    <html data-pdf-bookmark="none">...
    
    opened by stanio 4
  • Default Accept header value is invalid according to RFC 7231

    Default Accept header value is invalid according to RFC 7231

    Default Accept header value is invalid according to RFC 7231. https://bugs.openjdk.org/browse/JDK-8163921 Fixed in java 19 which sets its value to */*

    Requests got blocked after firewall upgrade with rule that checks Accept header.

    opened by Pitupitupit 0
  • Make VerifyGlyphExists compile using IntelliJ

    Make VerifyGlyphExists compile using IntelliJ

    Changes:

    • Add reference to org.w3c.dom in pom.
    • BorderPropertySet.java -- Organize imports (had compile issues without org.w3c.dom).
    • VerifyGlyphExists.java -- Compare line 100 (old) and line 110 (PR); the codepoint was always 0, which looks like a bug. Other updates modernize the syntax and apply IDE-recommended changes, including try-with-resources. This closes the opened font's file stream, which is technically another bug but one that would never affect the application in practice.
    • ITextFontResolver.java -- Organize imports.
    opened by DaveJarvis 0
  • Guard against race condition

    Guard against race condition

    Assign styleMap to local method variable (localMap) to avoid possibility of styleMap becoming null during method execution, otherwise resulting in an NPE.

    opened by DaveJarvis 1
Releases(v9.1.21)
  • v9.1.21(Apr 21, 2021)

    cbb1425a49e3fd13e8c1417f6edd379403879001 Update for release 9.1.21 a738f43ef1a7f9f3f9fc71ea9d953677300857a7 Merge pull request #176 from kalnida1/master e5671a93f08d5a0cd7dedf890fcf84cae54ee842 Fix for CVE-2017-9096 828de14f7991350d069ed858ba4ed7bf63490313 Merge pull request #175 from ottobeli/patch-1 ec6823cc81a8f94e040b260205b0fd2421cdd7c7 Replicating the commit 3e47546

    Source code(tar.gz)
    Source code(zip)
  • v9.1.20(Jan 10, 2020)

    b730732 Update for 9.1.20 release 46bb75b Merge pull request #167 from maltalex/master 59c16c2 replaced javax.xml.bind.DatatypeConverter with java.util.Base64

    Source code(tar.gz)
    Source code(zip)
  • v9.1.19(Nov 13, 2019)

    a22f47d Merge pull request #166 from flyingsaucerproject/dependabot/maven/flying-saucer-pdf/bouncycastle.version-1.64 c7c09aa Bump bouncycastle.version from 1.60 to 1.64 in /flying-saucer-pdf dbfe5db Update for 9.1.19 release ce73e8e Merge pull request #161 from andreasrosdal/master a90b7d4 Merge pull request #163 from KalhariL/textFormFieldFix 9e27dda Merge pull request #164 from netheosgithub/fix-relative-links 9d9829c Merge pull request #165 from dmarth/fix/absolute-positioning 06ea987 copy list of children 65bf173 Add support for relative links to filesystem resources 47c1de6 1.3.11 10ab906 Added maxlength and multiline to text form field 89c6c5d 1.3.8 967992e 1.3.3 25e0451 1.3.2. c0ff4a7 1.3.0. 7f89dd1 Update to OpenPDF 1.2.19. ccfadb6 Merge pull request #157 from andreasrosdal/master a02d576 Merge pull request #159 from peterm0x/master f916411 Update pom.xml dcdc985 Update pom.xml 62f46a9 Update pom.xml 2568f62 fixes issue with outline generation 8a0cacb Update pom.xml b9001c1 Update pom.xml d85d520 Update pom.xml 3870571 Merge pull request #158 from datb-com/master dbdc265 C251337 flyingsaucer upgrade 85dd7d3 Update pom.xml 4615052 Update pom.xml a026121 Update to OpenPDF 1.2.10.

    Source code(tar.gz)
    Source code(zip)
  • v9.1.18(Mar 5, 2019)

    62d6bbd Update for 9.1.18 release f583af0 Fix box sizing cba45a6 Update for 9.1.17 release 1d3f1ec Merge pull request #155 from andxor/master e4b1490 Merge pull request #154 from OpenGrabeso/fixRoundCorners 97d2a53 Merge pull request #153 from OpenGrabeso/prDispose f0b65dd Merge pull request #151 from andreasrosdal/master 59d9f13 Merge pull request #156 from philipparndt/table-break-fix ee5bc71 Fixed unnecessary line break in tables 302183b Allow border collapse even on paginated tables. 4e65863 Rounded corners without borders added twice into the path because of bad starting angle. This has caused significant performance issues in awt Area constructor sometimes. 81298a0 Add dispose for each create. 734be72 Update to OpenPDF 1.2.5. 225fc5b Update for 9.1.16 release 7230698 Added support for base64 encoded font faces. 83d6e3b Merge pull request #145 from Gaboso/readme_update b28a9bf Merge pull request #149 from andreasrosdal/master 3654d9b Update to OpenPDF 1.2.3. 8c4f805 Update to OpenPDF 1.2.2. c5c8225 Update license badge to LGPL-2.1 3d007f8 Merge branch 'master' of https://github.com/flyingsaucerproject/flyingsaucer into readme_update 8f2eac4 Add version and license badges

    Source code(tar.gz)
    Source code(zip)
  • v9.1.15(Aug 9, 2018)

    080e898 Update for v9.1.15 a6aedca Merge pull request #147 from andreasrosdal/master b9f3402 Merge pull request #146 from pixilation/master 9509e5c Merge pull request #144 from Gaboso/master 7f360c2 Update to OpenPDF 1.2.0 and Bouncy Castle 1.60. 8e6b484 Fixed italic emulation applying to oblique fonts in itext5 120de9d Fixed italic emulation applying to oblique fonts d7ea948 Refactoring in TrueTypeUtil

    Source code(tar.gz)
    Source code(zip)
  • v9.1.14(Jul 7, 2018)

    bb87a5c Update for v9.1.14 7759d79 Merge pull request #141 from Gaboso/master 90b5ec3 Merge pull request #142 from KlausRe/master e8a5b35 Merge pull request #143 from balazs-zsoldos/support_box-sizing_border-box 2122857 Support box-sizing border-box 4ab1440 Avoid artifacts due to missing antialiasing ed6eff6 Refactoring in Logs

    Source code(tar.gz)
    Source code(zip)
  • v9.1.13(May 15, 2018)

    e0d04b7 Update for v9.1.13 a317ac7 Merge pull request #140 from milkotodorov/master d3dd89c Bump-up bouncycastle dep. version - CVE-2015-7940

    Source code(tar.gz)
    Source code(zip)
  • v9.1.12(Feb 19, 2018)

    3cf6b4e Update for 9.1.12 429362f Merge pull request #139 from angelozerr/patch-1 bdd0284 Fix NPE when contentLimitContainer is null a8aa22c Update README

    Source code(tar.gz)
    Source code(zip)
  • v9.1.9(Nov 8, 2017)

    9fa556d Update for release b78387b Merge pull request #133 from adamovic-cw/master 4835960 Make default constants public. 41e3463 Remove printStackTrace() call.

    Source code(tar.gz)
    Source code(zip)
  • v9.1.8(Nov 7, 2017)

    afca924 Revert "Process language attribute" ca8f96d Update for release 8dea844 Merge pull request #132 from gpgekko/patch-1 4b43748 Merge pull request #131 from jodersky/page-numbering 5d12eeb Merge pull request #129 from brucewinger/cache-doBreakText 91ee687 Process language attribute 0d1bb7d Extract page number from image src URIs f6449ad cache previous width and position when calculate currentWidth 66e16bf Next development version

    Source code(tar.gz)
    Source code(zip)
  • v9.1.7(Sep 10, 2017)

    f350d85 Update for release 316dc7e Merge branch 'aksndr-master' 3370dd7 Revert wildcard imports 60a028d Merge branch 'master' of https://github.com/aksndr/flyingsaucer into aksndr-master 25805ee Merge pull request #127 from liias/master 18787d1 Update pom.xml 56edd63 Update pom.xml 90b308a Added methods getting data from bytes array and returning resuls as the bytes array 5d9907b Throw exception if inline element lbContext.isFinished() is never true 99fdcac Update EndlessLoopTest_wordwrap.html example to be more clear if viewing pdf 1742d19 Potential fix for word-wrapping endless loop issue e29d589 Add failing test for endless loop. b889902 Next development version

    Source code(tar.gz)
    Source code(zip)
  • v9.1.6(Sep 10, 2017)

    368e3fc Update for release 009a774 Update version of iText 5 2a5aa13 Merge pull request #126 from matthias-g/mailto-urls 917a8df Create links also for urls starting with 'mailto:' 6edf8f7 Next development version

    Source code(tar.gz)
    Source code(zip)
  • v9.1.5(Mar 28, 2017)

    f4bfac3 Update for release 4e92ab2 Merge pull request #122 from huxi/117part2 91bad7d Fixes NPE mentioned in #117 comments. 8fc7c95 Next development release

    Source code(tar.gz)
    Source code(zip)
  • v9.1.4(Mar 12, 2017)

    a05031c Update for release 75ef068 Merge pull request #121 from huxi/YetAnotherRootPanelNPE ab72c6c locking down enclosingScrollPane 9078cf8 documentListeners cleanup. be33801 Move fields to top of class. c0519ae Simplify UI element handling. 3aff302 More null handling. 72d6baf Next development version

    Source code(tar.gz)
    Source code(zip)
  • v9.1.3(Mar 10, 2017)

    86439f3 Update for release dbbf71c Merge pull request #120 from huxi/MavenWarnings e1ebba5 Merge pull request #119 from huxi/RootPanelNPE 8846742 Added maven-deploy-plugin version. 6db2426 Added maven-jar-plugin version. f653aad Fixes NPE introduced in 214bd386a50b2158e724d6d1b. e201ffb Update for next development release

    Source code(tar.gz)
    Source code(zip)
  • v9.1.2(Mar 9, 2017)

    8b9df30 Update for release and merge Bintray packages 34ae468 Merge pull request #118 from huxi/ReadmeUpdate 6f4bb95 Updated Links and added merge/release policy. e41b4a8 Merge pull request #117 from huxi/NPE-fix fb7d310 Merge pull request #116 from huxi/resolveUriRegressionFix b089fd1 Element can be null in getLang calls. 61ed26e Whitespace fix. Spaces instead of tabs. 6de96b7 Fixes testJarFileUriResolve regression. f26c133 Removed unused method. 1721208 Removed unused import. fad9c08 Added failing test case. cb8fc69 Cleanup of NaiveUserAgentTest 944e3a3 Move NaiveUserAgent test to proper package. 795f89e Merge pull request #115 from skjolber/org_bouncycastle_dependency_move fcf92c7 Move iText dependencies to renamed versions c25e33b Merge pull request #114 from codeborne/fix-entity-reference-support e28ab6b Fix NPE when special symbols ('&', '>') is at the end of td 8346ebb Merge pull request #113 from andreasrosdal/master eadb3f0 Update pom.xml. 681301d If openpdf profile is selected, then build flying-saucer-pdf instead. 61b2cac Add junit to OpenPDF profile. 52d4844 Add maven profiles which have OpenPDF as dependency in addition to iText. OpenPDF has a LGPL and MPL open source license. a8efc68 Merge pull request #112 from sdumitriu/patch-1 394ddf6 Updated README.md 19e6944 Merge pull request #111 from LZaruba/master.word-wrap e569db6 Added Non-Break-Spaces concept 4fdceb4 Fixed license headers bf7c1d5 Added new module containing Apache FOP implementation of the word-break capability e49a880 Implemented word wrapping capability de29829 Merge pull request #110 from codeborne/add-entity-reference-support e0a9c36 returns iterator only for DocumentTraversal instances so that other parsers (like Shani Xml Parser) do not fail with ClassCastException ff6b2e8 add entity reference nodes handling (needed for '&', '<' etc. rendering) b7dccd6 Merge pull request #109 from stanio/xml-reader c598625 Allow configuring "xr.load.ignore-element-content-whitespace" again 25d4b7c Use SAX parser as main way of loading documents c7cd382 Break internal implementation into more specialized units d6ffdc4 Merge pull request #107 from stanio/parser-pool c9a8b3b Avoid synchronizing new parser creation on the factory 368e88f Allow configuring 'ignoringElementContentWhitespace' of the parser factory 8db0c42 Reuse DocumentBuilderFactory instance for spawning new parsers 557c06c Replace ThreadLocal cache with simple object pool f47b990 Merge pull request #105 from stanio/html5-doctype 19b962f Enable parsing HTML5 doctype documents which use HTML entities 4520fc1 Next development version

    Source code(tar.gz)
    Source code(zip)
  • 9.1.1(Nov 26, 2016)

    bfffbe4 Update for release 1c5dd1d Update distributionManagement for OSGI artifact a0ba5f1 Merge pull request #104 from stanio/html-outline b702730 Add automatic HTML outline with the iText5 library, also d6eda87 Add license file comment; Clean and polish 19b7f98 Merge pull request #101 from trohrberg/add_osgi_support 3fb03d7 Merge pull request #103 from stanio/master 39cfff1 Create bookmarks from HTML outline automatically bc1c33b Merge pull request #102 from stanio/master dc6a75c Always clone images returned from cache 8e1c7f7 [add_osgi_support] Adding OSGi support 9b83c56 Merge pull request #45 from mpasture/master d68f357 Merge pull request #100 from stanio/master 1a886b4 Allow configuring ITextUserAgent image cache capacity 600b692 Cache data: URI images c9df4cf Merge pull request #99 from stanio/master d7aec72 Cache and reuse parser instances ce43d67 Clean up createXMLResource from TrAX source 0290ea9 Adjust indentation 0e54081 Clean up createXMLResource from SAX input source 61a82f8 ... or set it up already in FSEntityResolver (?) a7267f2 Ensure no external entities get loaded e6104cd add support for PDF/A

    Source code(tar.gz)
    Source code(zip)
  • 9.1.0(Oct 30, 2016)

    9d15645 Update for release b2ef06a Merge pull request #48 from micahhainline/fix_anchors 0a03f0c Merge pull request #57 from anu20890/master 3d0e179 Merge pull request #72 from IT-Tecture/stream-from-redirected-conn 3adfe30 Merge pull request #74 from pjahn87/master 6e75a04 Merge pull request #91 from avinash10584/master 614e932 Merge pull request #88 from rafortis/master 3f99400 Merge pull request #56 from micw/master ee37b0a Merge pull request #89 from Immortalin/master f7b4096 Merge pull request #94 from thiagoarrais/dynamic-height 89eadfd Merge pull request #95 from vmichaud/master 3954014 Merge pull request #90 from grahamhar/master 9bfd65c Merge pull request #96 from jklingst/swt-output-device-nullcheck-bugfix 15865ad Merge pull request #97 from jklingst/stylesheet-factory-charset-name 36bad23 Merge pull request #98 from lillesand/master 9140a7a Aggressively disable external entities 7c81f1d Update xhtmlrenderer.conf 76508d9 Fix indentation a135c3c Allow specifying the charset name used for reading stylesheets 98063e4 Null check in SWTOutputDevice.setStroke on BasicStroke dash array e6d84b3 Table row rendering improvement : Better support of border-radius applied on a . 6a9ec58 Merge branch 'master' of https://github.com/vmichaud/flyingsaucer 6ef439b Merge pull request #1 from flyingsaucerproject/master 8abe0d1 Fix bug when using text-align:justify with
    tags. 6b36350 Allows dynamic height rendering from Document 854e182 Update for next development version f764640 Update version for release 8d01ff5 Merge pull request #92 from openwide-java/border-radius-with-zero-width-border-fix 2002cd9 Bugfix for the ClassCastException when a box has border-radius but the border has zero width eea8598 Test for when a box has border-radius but the border has zero width (=> ClassCastException) dd5510c Fix for wrapping on div as seen on chrome and firefox a08a916 Revert "Added files via upload" 97b046f Added files via upload 3d46e93 Remove stacktrace e8298ff Update README.md d18ca67 Rename README to README.md 3e47546 Add fix on PDF conversion of a HTML form hidden field with long values(>127 bytes) 7bf5da9 Merge pull request #87 from rafortis/master 5a60527 fix bug on CSSParser while processing escaped backslashes
    d10728c [maven-release-plugin] prepare for next development iteration 304de89 Added basic timeout handling to ITextRenderer due to missing interrupt handling a9bcbd2 Check if the instance of HttpURLConnection is allowed to follow redirects. 975106d Refactor the opening of a input stream to handle redirection with HttpURLConnection. f91f039 Extract open stream to extend workflow. bf58be0 Avoid change of provided parameter 'uri'. It is a bad practice to change input parameters. 055a8fe Auto scale width e21fbd4 ITextRenderer: detect "PDF-Images" using the first few bytes of the streaminstead of relying on the uri's path name. e1df2c4 Fixed an issue in which pdf links that were rendering as floating blocks would be duplicated on pages other than the page in which they should appear.

    Source code(tar.gz)
    Source code(zip)
Owner
null
An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, PDF/UA)!

OPEN HTML TO PDF OVERVIEW Open HTML to PDF is a pure-Java library for rendering arbitrary well-formed XML/XHTML (and even HTML5) using CSS 2.1 for lay

null 1.6k Dec 29, 2022
Extract text from a PDF (pdf to text). Api for PHP/JS/Python and others.

Extract text from a PDF (pdf to text). API in docker. Why did we create this project? In the Laravel project, it was necessary to extract texts from l

dotcode.moscow 6 May 13, 2022
Java reporting library for creating dynamic report designs at runtime

Master Development Dynamic Reports DynamicReports is an open source Java reporting library based on JasperReports. It allows to create dynamic report

Dynamic Reports 165 Dec 28, 2022
The Apache PDFBox library is an open source Java tool for working with PDF documents

Apache PDFBox The Apache PDFBox library is an open source Java tool for working with PDF documents. This project allows creation of new PDF documents,

The Apache Software Foundation 1.8k Dec 31, 2022
ASCII renderer in pure java with no external dependencies

Java ASCII Render ASCII renderer in pure java with no external dependencies. Java ASCII Render supports graphical primitives/elements, layers, context

David E. Veliev 140 Dec 12, 2022
CSS keyframe animation for JavaFX. Create animations like you would do with CSS.

JFXAnimation CSS keyframe animation for JavaFX. If you are using JFoenix JFXAnimation is included (currently version 1.0.0 only) Requirements JDK 8 an

Marcel Schlegel 49 Dec 28, 2022
Nokogiri (鋸) is a Rubygem providing HTML, XML, SAX, and Reader parsers with XPath and CSS selector support.

Nokogiri Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a sensible, easy-to-understand API for reading, writ

Sparkle Motion 6k Jan 8, 2023
An extensible Java framework for building XML and non-XML streaming applications

Smooks Framework This is the Git source code repository for the Smooks Project. Build Status Building Pre-requisites JDK 8 Apache Maven 3.2.x Maven gi

Smooks Framework 353 Dec 1, 2022
Turbomodule and Fabric renderer boilerplate

REACT NATIVE TURBOMODULE FABRIC RENDERER BOILERPATE This is BOILERPATE template for enable turbomodule and fabric renderer Generate Codegen native fil

Numan 9 Jul 17, 2022
Java SVG renderer

JSVG - A Java SVG implementation The SVG logo rendered using JSVG JSVG is an SVG user agent using AWT graphics. Its aim is to provide a small and fast

Jannis Weis 30 Dec 13, 2022
Yet another very simple java 3D software renderer using only standard 2D libraries (Java2D, AWT & Swing). Video: https://youtu.be/hWUX1t9f6zE

Another very simple 3D software renderer Another very simple 3D software renderer implemented in java using only standard libraries (java 2D, AWT & Sw

Leo 13 Oct 17, 2022
These samples explore the different options that Spring Boot developers have for using Javascript and CSS on the client (browser) side of their application.

Table of Contents Getting Started Narrowing the Choices Create a New Application Webjars Show Me Some Javascript Normalizing Resource Paths Adding Tab

Dave Syer 18 Jul 29, 2022
Student management system with sql database,Jsp & Java (Front end with HTML & CSS)

studentmanagementsystem Student management system with sql database,Jsp & Java (Front end with HTML & CSS) what this basically is that it integrates t

Isaac 7 Oct 3, 2022
Allow runtime modification of JavaFX CSS

cssfx ⚠ WARNING ⚠ In version 11.3.0 we have relocated & refactored the project. maven groupId has been changed to fr.brouillard.oss java module name h

Matthieu Brouillard 134 Jan 2, 2023
CSS-style shadows for Android

Fifty Shades: CSS-style shadows for Android What? In CSS, shadows are specified by (dx, dy, blurRadius, colour) (I call it ShadowSpec). This library i

Mike 73 Dec 19, 2022
Telegram API Client and Telegram BOT API Library and Framework in Pure java.

Javagram Telegram API Client and Telegram Bot API library and framework in pure Java. Hello Telegram You can use Javagram for both Telegram API Client

Java For Everything 3 Oct 17, 2021
Microserver is a Java 8 native, zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class. Supporting pure Microservice or Micro-monolith styles.

Microserver A convenient modular engine for Microservices. Microserver plugins offer seamless integration with Spring (core), Jersey, Guava, Tomcat, G

AOL 936 Dec 19, 2022