OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. OpenPDF is based on a fork of iText. We welcome contributions from other developers. Please feel free to submit pull-requests and bugreports to this GitHub repository. ⛺

Overview

OpenPDF is an open source Java library for PDF files

OpenPDF is a Java library for creating and editing PDF files with a LGPL and MPL open source license. OpenPDF is the LGPL/MPL open source successor of iText, and is based on some forks of iText 4 svn tag. We welcome contributions from other developers. Please feel free to submit pull-requests and bugreports to this GitHub repository.

CI Maven Central License (LGPL version 3.0) License (MPL)

Join the chat at https://gitter.im/LibrePDF/OpenPDF Join the chat at https://gitter.im/LibrePDF/code_of_conduct

OpenPDF version 1.3.25 released 2021-02-15

Get version 1.3.25 here - https://github.com/LibrePDF/OpenPDF/releases/tag/1.3.25

Use OpenPDF as Maven dependency

Add this to your pom.xml file to use the latest version of OpenPDF:

<dependency>
  <groupId>com.github.librepdf</groupId>
  <artifactId>openpdf</artifactId>
  <version>1.3.25</version>
</dependency>

License

GNU Lesser General Public License (LGPL), Version 2.1

Mozilla Public License Version 2.0

We want OpenPDF to consist of source code which is consistently licensed with the LGPL and MPL licences only. This also means that any new contributions to the project must have a dual LGPL and MPL license only.

Documentation

Background

OpenPDF is open source software with a LGPL and MPL license. It is a fork of iText version 4, more specifically iText svn tag 4.2.0, which was hosted publicly on sourceforge with LGPL and MPL license headers in the source code, and LGPL and MPL license documents in the svn repository. Beginning with version 5.0 of iText, the developers have moved to the AGPL to improve their ability to sell commercial licenses.

OpenPDF ancestors in GitHub (in fork order):

  1. @rtfarte / OpenPDF - parent of LibrePDF/OpenPDF
  2. @kulatamicuda / iText-4.2.0
  3. @daviddurand / iText-4.2.0
  4. @ymasory / iText-4.2.0 - original parent on GitHub

Projects using OpenPDF

Android support

OpenPDF now has Android support, more info here: Android-support

Contributing

Release the hounds! Please send all pull requests. Make sure that your contributions can be released with a dual LGPL and MPL license. In particular, pull requests to the OpenPDF project must only contain code that you have written yourself. GPL or AGPL licensed code will not be acceptable.

Coding Style

  • Code indentation style is 4 spaces.
  • Generally try to preserve the coding style in the file you are modifying.

Dependencies

Required Dependencies:

  • Java 8 or later is required to use OpenPDF. All versions Java 8 to Java OpenJDK 15 have been tested to work.

UTF-8 Fonts:

As of 1.3.21 the UTF-8 Liberation fonts moved to its own module, to reduce the size of the OpenPDF jar. If you want to use the bundled UTF-8 fonts, please add the following dependency to your project and use the class org.librepdf.openpdf.fonts.Liberation.

<dependency>
  <groupId>com.github.librepdf</groupId>
  <artifactId>openpdf-fonts-extra</artifactId>
  <version>${openpdf.version}</version>
</dependency>

Optional:

  • BouncyCastle (BouncyCastle is used to sign PDF files, so it's a recommended dependency)
    • Provider (org.bouncycastle:bcprov-jdk15on or org.bouncycastle:bcprov-ext-jdk15on depending on which algorithm you are using)
    • PKIX/CMS (org.bouncycastle:bcpkix-jdk15on)
  • Apache FOP (org.apache.xmlgraphics:fop)
  • Please refer to our pom.xml to see what version is needed.

Credits

Significant Contributors to OpenPDF on GitHub.

In GitHub User alphabetical order.

Maintainers and Members

Contributors

Also, a very special thanks to the iText developers ;)

Comments
  • Exception writing font to PDF file

    Exception writing font to PDF file

    Using

            try (OutputStream outputStream = response.getOutputStream();
                 Document document = new Document();
                 PdfWriter writer = PdfWriter.getInstance(document, outputStream)) {
                writer.setFullCompression();
    

    Then I have the exception

    Jul 31, 2019 3:36:14 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
    java.lang.NullPointerException
    	at com.lowagie.text.pdf.TrueTypeFontUnicode.compare(TrueTypeFontUnicode.java:376)
    	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
    	at java.util.TimSort.sort(TimSort.java:234)
    	at java.util.Arrays.sort(Arrays.java:1438)
    	at com.lowagie.text.pdf.TrueTypeFontUnicode.writeFont(TrueTypeFontUnicode.java:393)
    	at com.lowagie.text.pdf.FontDetails.writeFont(FontDetails.java:317)
    	at com.lowagie.text.pdf.PdfWriter.addSharedObjectsToBody(PdfWriter.java:1236)
    	at com.lowagie.text.pdf.PdfWriter.close(PdfWriter.java:1170)
    

    If I revert the try-with-resources, then all is ok. Version: LibrePDF 1.3.0 Latets Oracle Java 8 on macOS

    bug help wanted 
    opened by ducnv82 29
  • Huge increase in PDF filesize since 1.3.12

    Huge increase in PDF filesize since 1.3.12

    Describe the bug After updating to the latest version we noticed that the pdfs we create using OpenPDF have massively increased in size. (e.g. a PDF with ~200 pages containing nested tables was 10MB and now is 150MB). I have traced it back to changes in 1.3.12. If I use a OpenPdf version < 1.3.12 our software outputs a 10MB file, If I update OpenPDF to anything >= 1.3.12 the very same code produces a 150MB file.

    To Reproduce Currently I have no example, since we are running this in production. But it is solely dependent on changes in OpenPDF since reverting back to an old version results in smaller pdfs without changing any of the pdf generation code. Maybe someone has an idea where this behavior might stem from? Preparing an example is possible, but will take some time.

    bug 
    opened by renber 25
  • Logic behind the method AcroFields.getBlankSignatureNames()

    Logic behind the method AcroFields.getBlankSignatureNames()

    Hello,

    Could you explain the implementation of the method getBlankSignatureNames ? I maybe misunderstand the goal of the method.

    IMHO, we should check if the /V refer a Dictionary with the signature :

    Here, the signature has been added (not blank) :

    41 0 obj
    <<
    /FT /Sig
    /Type /Annot
    /Subtype /Widget
    /F 132
    /T (Signature1)
    /V 42 0 R
    /P 1 0 R
    /Rect [0.0 0.0 0.0 0.0]
    >>
    endobj
    42 0 obj
    <<
    /Type /Sig
    /Filter /Adobe.PPKLite
    /SubFilter /ETSI.CAdES.detached
    /Name (good-user 2929c4af08f7512fe4d0290e179a9bd185abccf7)
    /M (D:20181207110932+01'00')
    /Contents <308214C606...0>
    /ByteRange [0 137385 156331 390]               
    >>
    endobj
    

    Here, we have an empty visible signature field :

    8 0 obj
    <<
    /FT /Sig
    /Type /Annot
    /Subtype /Widget
    /F 132
    /T (signature-test)
    /Rect [50.0 500.0 250.0 700.0]
    /P 3 0 R
    >>
    endobj
    

    Thanks in advance for your reply,

    Pierrick

    question 
    opened by pvandenbroucke 20
  • Crash on document.add(image) on android

    Crash on document.add(image) on android

    Theres this error occuring when converting images to pdf as follows;

      File file = new File(destinationDirectory, pdfName + ".pdf");
         Log.e("PDF","Output to:"+file.toString());
    
         FileOutputStream fileOutputStream = new FileOutputStream(file);
    
         PdfWriter pdfWriter = PdfWriter.getInstance(document, fileOutputStream);
         document.open();
    
         System.out.println("CONVERTER START.....");
    
         String[] splitImagFiles = imagFileSource.split(",");
    
         for (String singleImage : splitImagFiles) {
             Image image = Image.getInstance(singleImage);
             document.setPageSize(image);
             document.newPage();
             image.setAbsolutePosition(0, 0);
             document.add(image);
         }
    
         document.close();
    

    Tried adding

       ndk {
                abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64"
            }
    
    

    but same error

        java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.myapp-tMMDQvGNIUp1-fffWZK0YQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-tMMDQvGNIUp1-fffWZK0YQ==/lib/arm64, /system/lib64, /system/product/lib64]]] couldn't find "liblcmm.so"
            at java.lang.Runtime.loadLibrary0(Runtime.java:1067)
            at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
            at java.lang.System.loadLibrary(System.java:1667)
            at org.apache.harmony.awt.Utils$2.run(Utils.java:44)
            at java.security.AccessController.doPrivileged(AccessController.java:69)
            at org.apache.harmony.awt.Utils.loadLibrary(Utils.java:42)
            at org.apache.harmony.awt.gl.color.NativeCMM$1.run(NativeCMM.java:81)
            at org.apache.harmony.awt.gl.color.NativeCMM$1.run(NativeCMM.java:79)
            at java.security.AccessController.doPrivileged(AccessController.java:43)
            at org.apache.harmony.awt.gl.color.NativeCMM.loadCMM(NativeCMM.java:78)
            at org.apache.harmony.awt.gl.color.NativeCMM.<clinit>(NativeCMM.java:91)
            at org.apache.harmony.awt.gl.color.NativeCMM.cmmGetProfileElementSize(Native Method)
            at java.awt.color.ICC_Profile.getData(ICC_Profile.java:413)
            at java.awt.color.ICC_Profile.getIntFromHeader(ICC_Profile.java:734)
            at java.awt.color.ICC_Profile.getNumComponents(ICC_Profile.java:478)
            at com.lowagie.text.pdf.PdfICCBased.<init>(PdfICCBased.java:81)
            at com.lowagie.text.pdf.PdfWriter.addDirectImageSimple(PdfWriter.java:2996)
            at com.lowagie.text.pdf.PdfWriter.addDirectImageSimple(PdfWriter.java:2938)
            at com.lowagie.text.pdf.PdfContentByte.addImage(PdfContentByte.java:1225)
            at com.lowagie.text.pdf.PdfContentByte.addImage(PdfContentByte.java:1121)
            at com.lowagie.text.pdf.PdfContentByte.addImage(PdfContentByte.java:1105)
            at com.lowagie.text.pdf.PdfDocument.add(PdfDocument.java:2413)
            at com.lowagie.text.pdf.PdfDocument.add(PdfDocument.java:747)
            at com.lowagie.text.Document.add(Document.java:276)
            at com.myapp.activity.InvoiceActivity.imagesToPdf(InvoiceActivity.java:349)
            at com.myapp.activity.InvoiceActivity$6.onClick(InvoiceActivity.java:184)
            at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loop(Looper.java:214)
            at android.app.ActivityThread.main(ActivityThread.java:7356)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
        
    
    bug help wanted android 
    opened by omkar-tenkale 19
  • Bouncy Castle is not optional

    Bouncy Castle is not optional

    A simple test which only instantiate a PdfReader on a empty PDF requires Bouncy Castle in the classpath. The pom declare it optional in the manifest. This problem does not happen with the iText version at ymasory/iText-4.2.0.

    opened by drivron 19
  • Font Color on PdfPCell increases the PDF file size more than 2x times

    Font Color on PdfPCell increases the PDF file size more than 2x times

    I have created a Font in this way.

    Font tableHeaderFont = new Font(Font.HELVETICA, 8, Font.NORMAL, Color.WHITE);

    and then using it inside PdfPCell with Phrase.

    PdfPCell hcell = new PdfPCell(new Phrase("Column A", tableHeaderFont));

    I am showing table header on every page.

    Now if I drop the Font Color, it generates the PDF file of size 10 MB but when Color is provided it generates PDF file of size 24 MB. There are around 1400 page in PDF document.

    Is there any better way to specify Font Color on PdfPCell level?

    bug help wanted 
    opened by ambrish24 16
  • Maven cleanups

    Maven cleanups

    • removed unused properties
    • set version properties for everything
    • use dependencyManagement for all dependencies
    • dependencies have no versions anymore
    • pom's cleanup with "mvn tidy:pom"
    • dependencies cleanup with "mvn dependency:analyze"
    • removed dependencies:
      • hamcrest-core
      • hamcrest-library
      • imageio-tiff
      • junit-jupiter-engine
      • spotbugs
      • xmlgraphics-commons
    • added explicit dependencies:
      • commons-io
      • hamcrest
      • jsr305
    cleanup pr-needs-review dependencies 
    opened by asturio 16
  • "Unknown encryption type R = 6" support AES256

    It seems that the first AES256 encrypted pdf's are out in the wild

    https://stackoverflow.com/questions/50822874/unknown-encryption-type-opening-pdf-file

    I guess they should be supported

    enhancement help wanted 
    opened by ralfhauser 16
  • Fb 001 java8 generics

    Fb 001 java8 generics

    Hello. I did a refactoring on the project to make use of typed generics all over the place. Some changes may have a minor impact on the preservation of the current API.

    In particular, the class Phrase used to extend ArrayList. It's mostly impossible to keep this structure, because using a typed ArrayList (something like 'class Phrase extends ArrayList') creates some clashes between the ArrayList bridge method and other similar methods in the API. So, I decided to change the signature of the class and make the ArrayList a field of the class (this also make encapsulation more explicit). Please review it.

    Please also note that I didn't have the opportunity to do extensive review of the code and proper testing.

    Needs work 
    opened by fvbassi 16
  • Incorrect information about the library

    Incorrect information about the library

    The library version is currently parsed from the manifest file in the com.lowagie.text.VersionBean class . If a program is built as a single jar file the manifest file of the library will be replaced and incorrect information will be parsed. This information is used by creation of pdf document (see: com.lowagie.text.pdf.PdfPages line: 152 / com.lowagie.text.pdf.PdfStamperImp line: 170. The constant com.lowagie.text.pdf.PdfName.ITXT is also no longer relevant). It probably makes sense to store the library information in a property file or as constant values.

    enhancement help wanted Needs work 
    opened by V-F 15
  • Glyph layout - See Issue #442

    Glyph layout - See Issue #442

    Pull request for issue notofonts/noto-fonts#442 Accented Letters composed of Unicode base letter and combining accent are rendered incorrectly.

    The position of glyphs is computed with statndard Java AWT methods. The output should be correct for all characters and sequences of DIN SPEC 91379. Eventually other scripts are also rendered correctly especially with Java versions >= 1.9 using HarfBuzz for rendering - this is not in the scope of this change.

    See the example GlyphLayoutDinSpec91379.java

    opened by vk-github18 14
  • Using rowspan leads to overlapping table rows

    Using rowspan leads to overlapping table rows

    A table cell with rowspan > 1 leads to wrong height calculation and overlapping cells.

    To Reproduce

    fun main() {
        FileOutputStream("test.pdf").use { outputStream ->
            val document = Document(PageSize.A4, 35f, 25f, 25f, 25f)
            val pdfWriter = PdfWriter.getInstance(document, outputStream)
            pdfWriter.setPdfVersion(PdfWriter.VERSION_1_7)
            document.open()
            document.use {
                document.add(Chunk("Test"))
    
                for (i in 1..5) {
                    val outerTable = PdfPTable(floatArrayOf(0.25f, 0.3f, 0.45f))
    
                    val cell1 = PdfPCell()
                    cell1.rowspan = i
                    cell1.addElement(Paragraph(Chunk("Cell 1")))
                    outerTable.addCell(cell1)
                    val cell2 = PdfPCell()
                    cell2.rowspan = i
                    cell2.addElement(Paragraph(Chunk("Cell 2 which has a very long text ".repeat(3))))
                    outerTable.addCell(cell2)
    
                    for(c in 1..i) {
                        val innerCell = PdfPCell()
                        innerCell.addElement(Paragraph(Chunk("Inner cell $c")))
                        outerTable.addCell(innerCell)
                    }
    
                    document.add(outerTable)
                }
            }
            document.close()
        }
    }
    

    Expected behavior Rows do not overlap.

    Screenshots image

    System (please complete the following information):

    • OS: Windows 10 64bit
    • Used Font: Default
    bug 
    opened by fellmann 0
  • Bump checkstyle from 10.3.4 to 10.6.0

    Bump checkstyle from 10.3.4 to 10.6.0

    Bumps checkstyle from 10.3.4 to 10.6.0.

    Release notes

    Sourced from checkstyle's releases.

    checkstyle-10.6.0

    Checkstyle 10.6.0 - https://checkstyle.org/releasenotes.html#Release_10.6.0

    Breaking backward compatibility:

    #12520 - Simplify JavadocStyleCheck: remove functionality for missing package-info Javadoc

    Bug fixes:

    #12409 - Inconsistent allowedAbbreviations when a method contains an underscore #12486 - NoWhitespaceAfter false positive on synchronized method #11807 - Null pointer exception with records in RequireThisCheck

    checkstyle-10.5.0

    Checkstyle 10.5.0 - https://checkstyle.org/releasenotes.html#Release_10.5.0

    New:

    #11644 - Allow 3rd party Check providers to group modules under custom parent module

    Bug fixes:

    #12443 - checkstyle 10.3.3 and newer throws NullPointerException on annotated generic types from IllegalType rule #12345 - False positive in NoWhiteSpaceAfter #12291 - EmptyForInitializerPad: ArrayIndexOutOfBoundsException

    ... (truncated)

    Commits
    • 233c91b [maven-release-plugin] prepare release checkstyle-10.6.0
    • c982461 config: maven has problems to push, moving push to action level
    • 2826b1b config: git push commands need write permission in actions
    • 311a1b7 config: skip pgp sign plugin during release:prepare as we do not sign commits
    • 04347b1 doc: release notes for 10.6.0
    • d12ffc7 Issue #12409: Inconsistentency In Allowed Abbreviations
    • a5be3cf minor: Bump version to 10.6.0-SNAPSHOT
    • ebb46cb Issue #12520: removes missing package-info Javadoc check in JavadocStyle
    • 475063f supplemental: Forbid usage of @​BeforeAll in tests
    • 069905a config: upgrade sevntu to 1.44.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump mockito-core from 4.8.0 to 4.11.0

    Bump mockito-core from 4.8.0 to 4.11.0

    Bumps mockito-core from 4.8.0 to 4.11.0.

    Release notes

    Sourced from mockito-core's releases.

    v4.11.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.11.0

    v4.10.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.10.0

    v4.9.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.9.0

    v4.8.1

    Changelog generated by Shipkit Changelog Gradle Plugin

    4.8.1

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • throw ArrayIndexOutOfBoundsException when Document.add(new Paragraph())

    throw ArrayIndexOutOfBoundsException when Document.add(new Paragraph())

    This issues appeared only in openpdf-1.3.29.jar. And It's OK in openpdf-1.3.20.jar or openpdf-1.3.30.jar . this is my code:

    /** * 在制定位置添加文本 * * @param doc 文档对象 * @param data 数据 * @param documentName 文档名 * @param imageFilePath 图片位置 * @param height 封面文字上方留白高度 * @throws IOException IOException */ public void addRecover(Document doc, List data, String documentName, String imageFilePath, int height) throws IOException { if (BASE_FONT == null) { return; }

        Font textFont = new Font(BASE_FONT, PdfReportCover.DATA_SIZE, Font.NORMAL);
        Font titleTextFont = new Font(BASE_FONT, PdfReportCover.DOC_NAME_SIZE, Font.NORMAL);
        doc.newPage();
        PdfReportCover.Builder builderLast = new PdfReportCover.Builder(this.writer, imageFilePath);
        builderLast.build().addBackGroundImage();
    
        for (int i = 0; i < height; i++) {
            doc.add(new Paragraph(PdfReportCover.DEFAULT_LEADING, " ", textFont));
        }
        for (int i = 0; i< data.size(); ++i) {
            doc.add(new Paragraph(PdfReportCover.DATA_TEXT_LEADING, data.get(i), textFont));
        }
        doc.add(new Paragraph(PdfReportCover.DOC_NAME_LEADING, " ", titleTextFont));
        doc.add(new Paragraph(PdfReportCover.DOC_NAME_LEADING, documentName, titleTextFont));
        doc.newPage();
    }
    

    ===============================================================

    when run to the last 'doc.add()', there throw ArrayIndexOutOfBoundsException;

    2022-12-17 17:18:45,546 ERROR [pool-22-thread-2][ROOT][com.module.intellidiag.business.handler.report.ExportReportTaskHandler 127] executeExportTask failed, waitingTask id = 39, name = GJTest-直连-发邮件_投资收益估算报告_1671268720936 com.lowagie.text.DocumentException: java.lang.ArrayIndexOutOfBoundsException: -1 ... at com.lowagie.text.pdf.PdfDocument.add(PdfDocument.java:781) ... at com.lowagie.text.Document.add(Document.java:302) ... at com.module.intellidiag.util.report.PdfReportCover.addRecover(PdfReportCover.java:224) ... at com.module.intellidiag.util.report.PdfReportCover.addRecover(PdfReportCover.java:192) ... at com.module.intellidiag.util.report.InvestReport.addFirstPage(InvestReport.java:864) ... at com.module.intellidiag.util.report.InvestReport.makeInvestFile(InvestReport.java:240) ... at com.module.intellidiag.util.report.InvestReport.generateInvestFile(InvestReport.java:185) .................. ... at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ... at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ... at java.lang.reflect.Method.invoke(Method.java:498) ... at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) ... at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ... at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:95) ... at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ... at java.util.concurrent.FutureTask.run(FutureTask.java:266) ... at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ... at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ... at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ... at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ... at java.lang.Thread.run(Thread.java:750) ... Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 ... at java.util.ArrayList.elementData(ArrayList.java:424) ... at java.util.ArrayList.remove(ArrayList.java:501) ... at com.lowagie.text.HeaderFooter.paragraph(HeaderFooter.java:274) ... at com.lowagie.text.pdf.PdfDocument.doFooter(PdfDocument.java:3233) ... at com.lowagie.text.pdf.PdfDocument.initPage(PdfDocument.java:1224) ... at com.lowagie.text.pdf.PdfDocument.newPage(PdfDocument.java:1018) ... at com.lowagie.text.pdf.PdfDocument.carriageReturn(PdfDocument.java:1295) ... at com.lowagie.text.pdf.PdfDocument.add(PdfDocument.java:558) ... ... 27 more

    ================================================================ This issues appeared only in openpdf-1.3.29.jar. And It's OK in openpdf-1.3.20.jar or openpdf-1.3.30.jar .

    opened by gaojing5 1
  • The content of the innermost element of multiple nested elements is missing

    The content of the innermost element of multiple nested elements is missing

    Describe the issue:

    I wrapped a Paragraph outside the PdfPTable(innerTable), and then put the Paragraph into another PdfPTable cell, the content of the innerTable is missing

    To Reproduce:

    PdfPTable table = new PdfPTable(2); PdfPTable innerTable = new PdfPTable(1); innerTable.addCell(new Paragraph("1111111111111111111111")); Paragraph pra = new Paragraph(); pra.add(innerTable); table.addCell(new PdfPCell(new Paragraph("222222222222"))); table.addCell(pra); document.add(table);

    Expected Behavior:

    The innerTable content will be displayed in the first row and second column of the outer table image

    Actual Behavior:

    The innerTable content is missing image

    How should I change my code to get the expected result?

    opened by CSi-CJ 0
Releases(1.3.30)
  • 1.3.30(Sep 19, 2022)

    What's Changed

    • Bump checkstyle from 10.3 to 10.3.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/776
    • Issue747: fix wrong layout of generating a table with alignment setting by @Brooklyn-0 in https://github.com/LibrePDF/OpenPDF/pull/749
    • Support for embedded images in HTMLWorker by @jukkaharkki in https://github.com/LibrePDF/OpenPDF/pull/785
    • Bump junit.version from 5.8.2 to 5.9.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/786
    • Bump maven-bundle-plugin from 5.1.6 to 5.1.8 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/789
    • Bump maven-javadoc-plugin from 3.4.0 to 3.4.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/793
    • Bump checkstyle from 10.3.1 to 10.3.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/797
    • Bump mockito-core from 4.6.1 to 4.8.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/808
    • Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/810
    • Bump bouncycastle.version from 1.71 to 1.71.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/809
    • Bump maven-jxr-plugin from 3.2.0 to 3.3.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/811
    • Issue619: add support for rowspan by @Brooklyn-0 in https://github.com/LibrePDF/OpenPDF/pull/750
    • RTL support for List Items - adding run direction at List Item level by @nucleussoftwareopen in https://github.com/LibrePDF/OpenPDF/pull/778
    • fix style issues by @bsanchezb in https://github.com/LibrePDF/OpenPDF/pull/801
    • fix slow or OutOfMemory in SmartCopy with some pdfs by @albfernandez in https://github.com/LibrePDF/OpenPDF/pull/807
    • #781 - Fix wrong deletion of chunks in HeaderFooter by @renoth in https://github.com/LibrePDF/OpenPDF/pull/813
    • add method to extract ownerPasswordUsed value by @bsanchezb in https://github.com/LibrePDF/OpenPDF/pull/803
    • Implemented password based AES256 (ISO 32000-2) support, see issue #375 by @mkl-public in https://github.com/LibrePDF/OpenPDF/pull/802
    • Simplify merging pdfs from java by @albfernandez in https://github.com/LibrePDF/OpenPDF/pull/806
    • Ensure deterministic behavior on protected PDF signature by @bsanchezb in https://github.com/LibrePDF/OpenPDF/pull/800

    New Contributors

    • @Brooklyn-0 made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/749
    • @jukkaharkki made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/785
    • @renoth made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/813
    • @mkl-public made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/802

    Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/1.3.29...1.3.30

    Source code(tar.gz)
    Source code(zip)
  • 1.3.29(Jul 9, 2022)

    What's Changed

    • Included GitHub Actions for debpendabot by @naveensrinivasan in https://github.com/LibrePDF/OpenPDF/pull/694
    • Bump mockito-core from 4.5.1 to 4.6.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/752
    • Bump maven-bundle-plugin from 5.1.5 to 5.1.6 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/731
    • Bump checkstyle from 10.2 to 10.3 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/751
    • Split row with rowspan > 1 evenly by @ObsisMc in https://github.com/LibrePDF/OpenPDF/pull/693
    • parsing of cross reference streams with multiple revisions by @szabo-jozsef in https://github.com/LibrePDF/OpenPDF/pull/702
    • Bump assertj-core from 3.22.0 to 3.23.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/753
    • Set permissions for GitHub actions by @nathannaveen in https://github.com/LibrePDF/OpenPDF/pull/705
    • Document 3rd party lib dep for getTiffImage by @jknight in https://github.com/LibrePDF/OpenPDF/pull/707
    • Adding Paragraphs with different run directions to same ColumnText ob… by @nucleussoftwareopen in https://github.com/LibrePDF/OpenPDF/pull/709
    • Add linebreak after Content Stream by @moritzfl in https://github.com/LibrePDF/OpenPDF/pull/723
    • Fix for issue #727: Use PdfStamper.getPdfLayers() causes java.lang.NullPointerException by @koenvb in https://github.com/LibrePDF/OpenPDF/pull/728
    • fix dictionary casting for issue #729 by @koenvb in https://github.com/LibrePDF/OpenPDF/pull/730
    • Fix bug about ColumnText by @chappyer in https://github.com/LibrePDF/OpenPDF/pull/732
    • Bump assertj-core from 3.23.0 to 3.23.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/754
    • Update PdfPRow.java by @MichaelBiesmann in https://github.com/LibrePDF/OpenPDF/pull/755
    • Improve monospaced font mapping on Windows and Linux by @oyarzun in https://github.com/LibrePDF/OpenPDF/pull/742
    • Bump mockito-core from 4.6.0 to 4.6.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/759
    • Bump pitest-junit5-plugin from 0.15 to 0.16 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/766
    • fix bug: Image in footer has wrong y value by @ObsisMc in https://github.com/LibrePDF/OpenPDF/pull/697
    • Correct license in all jars by @asturio in https://github.com/LibrePDF/OpenPDF/pull/757
    • Update pitest-junit5-plugin from 0.16 to 1.0.0 by @asturio in https://github.com/LibrePDF/OpenPDF/pull/774
    • Bump actions/checkout from 2 to 3 by @asturio in https://github.com/LibrePDF/OpenPDF/pull/775

    New Contributors

    • @naveensrinivasan made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/694
    • @ObsisMc made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/693
    • @szabo-jozsef made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/702
    • @nathannaveen made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/705
    • @jknight made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/707
    • @nucleussoftwareopen made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/709
    • @moritzfl made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/723
    • @koenvb made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/728
    • @MichaelBiesmann made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/755
    • @oyarzun made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/742

    Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/1.3.28...1.3.29

    Source code(tar.gz)
    Source code(zip)
  • 1.3.28(May 12, 2022)

    1.3.28

    Changes

    • Add ECDSA support to PdfPKCS7
    • Add example for ColumnText to create text with drop cap
    • feat: set run direction of form text fields by their content
    • Fix #251: Custom rendering of paragraph
    • Fix #581: Writing the cross reference table entries now uses the correct encoding
    • Fix #640: Exception SHA1with1.2.840.10045.4.1 Signature not available
    • Fix #668: class com.lowagie.text.pdf.PdfDictionary cannot be cast to class com.lowagie.text.pdf.PRIndirectReference
    • Fix #669: Header and Footer definition is ignored
    • Fix #674: flip text alignment for RTL multiline text fields
    • Fix #706: HtmlParser: maybe there should be a new line between title and body
    • Fix #718: ArrayIndexOutOfBoundsException when opening PDF file with invalid indirect reference
    • Fix #720: Null Pointer Exception
    • Test #534: Blank Page after PTable added into Document
    • use getISOBytes instead of PdfEncoding

    Updated dependencies:

    • Bump checkstyle from 9.3 to 10.2
    • Bump icu4j from 70.1 to 71.1
    • Bump maven-bundle-plugin from 5.1.4 to 5.1.5
    • Bump maven-clean-plugin from 3.1.0 to 3.2.0
    • Bump maven-compiler-plugin from 3.10.0 to 3.10.1
    • Bump maven-javadoc-plugin from 3.3.2 to 3.4.0
    • Bump maven-jxr-plugin from 3.1.1 to 3.2.0
    • Bump mockito-core from 4.3.1 to 4.5.1
    • Bump nexus-staging-maven-plugin from 1.6.12 to 1.6.13
    • Update Bouncy Castle dependency to version 1.71

    Full history

    What's Changed

    • Bump checkstyle from 9.3 to 10.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/677
    • Add example for ColumnText to create text with drop cap by @mluppi in https://github.com/LibrePDF/OpenPDF/pull/678
    • Improve documentation for setting header/footer by @mluppi in https://github.com/LibrePDF/OpenPDF/pull/675
    • Fix issue #668 by @draccagni in https://github.com/LibrePDF/OpenPDF/pull/673
    • Bump mockito-core from 4.3.1 to 4.4.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/683
    • Encoding for cross reference table wrong by @soenkekueper in https://github.com/LibrePDF/OpenPDF/pull/642
    • Bump maven-compiler-plugin from 3.10.0 to 3.10.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/684
    • Correct run direction for RTL fields by @tomyam1 in https://github.com/LibrePDF/OpenPDF/pull/671
    • Bump maven-jxr-plugin from 3.1.1 to 3.2.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/686
    • Bump checkstyle from 10.0 to 10.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/688
    • Bump maven-clean-plugin from 3.1.0 to 3.2.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/695
    • Bump icu4j from 70.1 to 71.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/700
    • Bump checkstyle from 10.1 to 10.2 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/717
    • Bump maven-javadoc-plugin from 3.3.2 to 3.4.0 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/710
    • Bump nexus-staging-maven-plugin from 1.6.12 to 1.6.13 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/712
    • Bump mockito-core from 4.4.0 to 4.5.1 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/713
    • Fix #718 by @liefke in https://github.com/LibrePDF/OpenPDF/pull/719
    • Issue 720: Fixed Null Pointer Exception by @kaufmann1 in https://github.com/LibrePDF/OpenPDF/pull/721
    • Bump maven-bundle-plugin from 5.1.4 to 5.1.5 by @dependabot in https://github.com/LibrePDF/OpenPDF/pull/722
    • Update Bouncy Castle dependency to version 1.71. by @andreasrosdal in https://github.com/LibrePDF/OpenPDF/pull/726
    • Fix bug about SAXiTextHandler by @chappyer in https://github.com/LibrePDF/OpenPDF/pull/714
    • Add ECDSA support to PdfPKCS7 by @kwart in https://github.com/LibrePDF/OpenPDF/pull/682

    New Contributors

    • @draccagni made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/673
    • @soenkekueper made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/642
    • @tomyam1 made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/671
    • @liefke made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/719
    • @kaufmann1 made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/721
    • @chappyer made their first contribution in https://github.com/LibrePDF/OpenPDF/pull/714

    Full Changelog: https://github.com/LibrePDF/OpenPDF/compare/1.3.27...1.3.28

    Source code(tar.gz)
    Source code(zip)
  • 1.3.27(Mar 5, 2022)

    OpenPDF 1.3.27 has been released.

    OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    Changes

    • Add reference to LayoutProcessor to README
    • Balancing market content operators when using without properties
    • Extend HeaderFooter functionality to create without before Phrase part
    • Fix #300: codewords padding for Macro PDF417-macro barcodes
    • Fix #392 updated: FontSelector.Process should NOT skip characters
    • Fix #408: ConcurrentModificationException in FontFactory
    • Fix #513: attach file with unicode name
    • Fix #534: Justified Text not supporting RTL
    • Fix #536: setSkipFirstHeader not working
    • Fix #556: Example Manually positioning text on the pdf
    • Fix #573: Example Adding bookmarks for lists and list items
    • Fix #580: NullPointerException in SimpleBookmark.getBookmark()
    • Fix #584: Add motivations to add FOP
    • Fix #587: Set Font in PdfGraphics2D not working/PdfGraphics2D manipulates set Font
    • Fix #610: Remove ITXT from PdfName
    • Fix #623: Make BaseFont subset prefix generation deterministic
    • Fix #629: Infinite loop in xref table causes OOM
    • Fix NPE in PdfSmartCopy for some maybe corrupted files
    • Fix possible ArrayIndexOutOfBoundsException
    • Fix (related to LibrePDF/OpenPDF5#7: LineSeparator prints out OBJECT_REPLACEMENT_CHARACTER
    • HTTP Proxy in OCSP and TSA clients and other config for TSA
    • Minor code cleanups
    • Prevent ClassCastExceptions for PdfNull object during signing PDF docs
    • Remove dependency on javax.annotation
    • Update PdfDocument skipFirstHeader fixed
    • Corrected some license issues
    • Minor example changes

    Updated dependencies:

    • Bump assertj-core from 3.19.0 to 3.22.0
    • Bump bouncycastle.version from 1.68 to 1.69
    • Bump checkstyle from 8.42 to 9.3
    • Bump commons-io from 2.8.0 to 2.11.0
    • Bump junit.version from 5.7.1 to 5.8.2
    • Bump maven-bundle-plugin from 5.1.2 to 5.1.4
    • Bump maven-compiler-plugin from 3.8.1 to 3.10.0
    • Bump maven-gpg-plugin from 1.6 to 3.0.1
    • Bump maven-jar-plugin from 3.2.0 to 3.2.2
    • Bump maven-javadoc-plugin from 3.2.0 to 3.3.2
    • Bump mockito-core from 3.9.0 to 4.3.1
    • Bump nexus-staging-maven-plugin from 1.6.8 to 1.6.11
    • Bump pitest-junit5-plugin from 0.14 to 0.15

    Update to the latest OpenPDF version by using this in your pom.xml file:

      <dependency>
          <groupId>com.github.librepdf</groupId>
          <artifactId>openpdf</artifactId>
          <version>1.3.27</version>
      </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.26(May 2, 2021)

    OpenPDF 1.3.26 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    Resolved issues

    • Fix #69: NullPointerException due to missing trailer (on bad startxref?)
    • Fix #330: Extracting text from PDF with embedded Identity-H font fails
    • Fix #392: FontSelector.process should NOT skip characters
    • Fix #399: KeepTogether in paragraph broken with more than one chunk and different font
    • Fix #454: Tab character is not visible in the PDF generated as glyph substitution not working
    • Fix #500: NullPointerException using PdfCopyFields (broken since v1.1.0)
    • Fix #502: NPE when exporting JasperPrint to PDF/A document
    • Fix #512: Wrong OSGI import for javax.annotation
    • Fix #517: The size pdf always be bigger than iText5
    • Fix #529: error with PDFTextExtractor

    Other improvements

    • Fix: An improper assertion of TabTest
    • Fix IndexOutOfBoundsException is thrown while getting Metadata of huge files
    • Make drawing circles more accurate by changing the bezier constant
    • Support Text Extract for symbol font and ZapfDingbats font

    Updated dependencies

    • Bump checkstyle from 8.40 to 8.42
    • Bump jfreechart from 1.5.2 to 1.5.3
    • Bump maven-bundle-plugin from 5.1.1 to 5.1.2
    • Bump maven-jxr-plugin from 3.0.0 to 3.1.1
    • Bump mockito-core from 3.7.7 to 3.9.0
    • Bump pitest-junit5-plugin from 0.12 to 0.14

    Update to the latest OpenPDF version by using this in your pom.xml file:

      <dependency>
          <groupId>com.github.librepdf</groupId>
          <artifactId>openpdf</artifactId>
          <version>1.3.26</version>
      </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.25(Feb 14, 2021)

    OpenPDF 1.3.25 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • [bugfix] Check if the annotation belongs to a valid page
    • [bugfix] Check if the returned ANNOTS object is not PdfNull
    • [bugfix] Fix #318: Small unit test checking that a single paragraph should create a single page.
    • [bugfix] Fix #394: Avoid Exception parsing RegEx
    • [bugfix] Fix #405: Bold+Underline is bolder than expected
    • [code] CheckStyle checks on actions
    • [code] CheckStyle rules updated
    • [code] Maven cleanups
    • [doc] Create pull_request_template.md
    • [doc] Documenting correct version of bouncycastle
    • [doc] How to add Chunk with chinese
    • [update] Bump assertj-core from 3.18.1 to 3.19.0
    • [update] Bump checkstyle from 8.39 to 8.40
    • [update] Bump commons-io from 2.6 to 2.8.0
    • [update] Bump fop from 2.5 to 2.6
    • [update] Bump jfreechart from 1.5.1 to 1.5.2
    • [update] Bump maven-checkstyle-plugin from 3.1.1 to 3.1.2
    • [update] Bump mockito-core from 3.6.28 to 3.7.7

    Update to the latest OpenPDF version by using this in your pom.xml file:

      <dependency>
          <groupId>com.github.librepdf</groupId>
          <artifactId>openpdf</artifactId>
          <version>1.3.25</version>
      </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.24(Dec 27, 2020)

    OpenPDF 1.3.24 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    Dependency Updates

    • Bump assertj-core from 3.18.0 to 3.18.1
    • Bump bcpkix-jdk15on from 1.67 to 1.68
    • Bump bcprov-jdk15on from 1.67 to 1.68
    • Bump imageio-tiff from 3.6 to 3.6.1
    • Bump mockito-core from 3.6.0 to 3.6.28
    • Bump spotbugs from 4.1.4 to 4.2.0

    Bugfixes

    • Fix issue #442: Accented Letters composed of Unicode base letter and combining accent are rendered incorrectly
    • Fix issue #450: Huge increase in PDF filesize since 1.3.12

    Meta

    • Licenses are now in separated files
    • Switched from Travis-CI to GutHub CI

    Update to the latest OpenPDF version by using this in your pom.xml file:

      <dependency>
          <groupId>com.github.librepdf</groupId>
          <artifactId>openpdf</artifactId>
          <version>1.3.24</version>
      </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.23(Nov 5, 2020)

    OpenPDF 1.3.23 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Build: assertj-core from 3.12.2 to 3.18.0
    • Build: bcpkix-jdk15on from 1.66 to 1.67
    • Build: bcprov-jdk15on from 1.66 to 1.67
    • Build: imageio-tiff from 3.5 to 3.6
    • Build: jakarta.servlet-api from 5.0.0-M2 to 5.0.0
    • Build: jfreechart from 1.5.0 to 1.5.1
    • Build: maven-checkstyle-plugin to 3.1.1
    • Build: maven-surefire-plugin from 2.22.1 to 2.22.2
    • Build: mockito-core from 2.25.1 to 3.6.0
    • Build: pitest-junit5-plugin from 0.7 to 0.12
    • Build: pitmp-maven-plugin from 1.3.6 to 1.3.7
    • Build: spotbugs from 4.1.3 to 4.1.4
    • Cleanup: removed redundant interface modifier
    • Fix: Javadoc errors and warnings (#367)
    • Fix: module-info.java for jfreechart update from 1.5.0 to 1.5.1 in pdftoolbox
    • Fix: No added space to extracted text (#119)
    • Fix: NPE fix (#443)
    • Fix: setColor(java.awt.Color.SOMECOLOR) does not work. Update module-info.java (#439)
    • Fix: Update dependencies & enable dependabot (#413)
    • Project: code of conduct chat badge added
    • Project: Create CODE_OF_CONDUCT.md
    • Project: Create issue templates
    • Project: Restore contributors layout
    • Project: Use bullet points for author list
    • Test: Use jakarta-EE instead of javax (only for tests)

    Update to the latest OpenPDF version by using this in your pom.xml file:

    <dependency>
        <groupId>com.github.librepdf</groupId>
        <artifactId>openpdf</artifactId>
        <version>1.3.23</version>
    </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.22(Sep 23, 2020)

    OpenPDF 1.3.22 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Works again with Java 8 [#411]
        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.22</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.21(Sep 18, 2020)

    OpenPDF 1.3.21 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Improvements for compiling with JDK 9+
    • UTF-8 Fonts moved to new module openpdf-fonts-extra
    • Improved Charset handling
    • Drops dependency to juniversalchardet [#400]

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.21</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.20(Jun 25, 2020)

    OpenPDF 1.3.20 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Support CSS4 colors in WebColors (#379)
    • Fix signatures for large PDF files (#383, #384).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.20</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.19(Jun 11, 2020)

    OpenPDF 1.3.19 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Fix WebColors transparency (#378)
    • Updated dependency versions

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.19</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.18(Jun 2, 2020)

    OpenPDF 1.3.18 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Fix PDF/A Conformance (#374).
    • Update Bouncy Castle dependency version.
    • Fix NullPointerException in PdfContentByte (#370).
    • Create chunks on the fly if an image resides in two nested span-elements (#377).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.18</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.17(May 13, 2020)

    OpenPDF 1.3.17 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Improve JavaDoc, remove errors and warning, provide links. Updated JavaDoc. #368 #366
    • Resolve fonts for FOP which loaded externally and passed as byte array to BaseFont.createFont #361
    • Update spotbugs dependency version to 4.0.3. Make it optional.

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.17</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.16(Apr 23, 2020)

    OpenPDF 1.3.16 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Re-use the already set document language in new PdfWriter instances #357.
    • Avoid NPE in AcroFields related to PdfAppearance #359.

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.16</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.15(Apr 17, 2020)

    OpenPDF 1.3.15 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Fix NPE when adding illegal child to nameless PdfLayer (#354).
    • Improve error reporting when processing bookmark destination (#353).
    • Fixed issues introduced with Apache FOP (#352).
    • Update Bouncy castle dependency version.

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.15</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.14(Mar 31, 2020)

    OpenPDF 1.3.14 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Fixed bug concerning simulated bold fonts and lineWidth (#349).
    • With glyph substitution question mark is coming in PDF (#348).
    • Glyph mapping exists in fonts (#340).
    • Some minor version updates for dependencies.

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.14</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.13(Jan 31, 2020)

    OpenPDF 1.3.13 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Adding advanced typography capability, by utilizing Apache FOP as an optional dependency. (#297, #329).
    • Bugfix illegal reflective access operation #332.
    • Bugfix: Parse nested HTML List #290 #288.

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.13</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.12(Jan 16, 2020)

    OpenPDF 1.3.12 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Update to Bouncy Castle version 1.64 and imageio-tiff 3.4.3.
    • Use TSAClient algorithm to digest timestamp, instead of hard coded SHA-1. #320 #321
    • Bouncy castle bugfix #265.
    • Fix document version at build time #268.
    • Change font without styles from Tahoma to non-existing-font #266.
    • Fixes PageNumbersWatermark example #270.
    • Make nested table visible when keepTogether is set for paragraph #274.
    • New tests and example code #275.
    • Fix LGTM Errors #278.
    • Fix some potential NullPointerExceptions #279.
    • Refactor PdfBoolean class instantiation #281.
    • Fix PdfPCell background color ignoring alpha channel of an rgba #282
    • Infinite loop fix #292.
    • Another infinite loop fix #295.
    • Allow customizing watermark font #298.
    • PNG type TYPE_BYTE_BINARY incorrectly printed #302.
    • Inconsistent output result fix #304.
    • Bugfix stack overflow in pdf graphics2 d translate method #306.
    • Bugfix displaying bold composite font #307.
    • Bugfix displaying strings with composite fonts #308.
    • Bugfix supporting open type fonts containing cff data #309.
    • Bugfix Bold fonts not working for Calibri #312 #316.
    • Bugfix: Subclasses of List render "bulletpoint"-characters properly again #323 #322

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.12</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.11(Sep 19, 2019)

    OpenPDF 1.3.11 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Update to Bouncy Castle version 1.63.
    • Fix incorrect bottom height calculation in table cell (#258, #260).
    • Fix style of already styled fonts (#262).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.11</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.10(Sep 16, 2019)

    OpenPDF 1.3.10 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Fix Producer metadata manipulation in Stamper (#256).
    • Fix code errors reported by LGTM code review (#255 #257 #128).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.10</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.8(Sep 3, 2019)

    OpenPDF 1.3.8 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Remove Closable And AutoClosable From PdfWriter (#252)

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.8</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.7(Aug 30, 2019)

    OpenPDF 1.3.7 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Add close call to nested document (#250).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.7</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.6(Aug 28, 2019)

    OpenPDF 1.3.6 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Bugfix: Nullpointer on auto closing document (#211).
    • Remove unneeded call to close() on PDFFile when closing PdfWriter (#211).
    • Clean metadata: doesn't export Producer in XMP if explicitly removed (#245).
    • Use ForEach instead of Iterator (#243).
    • Sample Arabic Text test broken (#240).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.6</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.5(Aug 21, 2019)

    OpenPDF 1.3.5 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Use Try With Resources (#238).
    • Clean Javadoc Warnings (#237).
    • Generate new XMP metadata if cleanMetadata is called (#236).
    • Update dependency of imageio-tiff to 3.4.2.

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.5</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.4(Aug 20, 2019)

    OpenPDF 1.3.4 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Modernization: Refactoring of Generics, Interfaces, Cleanups and removal of warnings (#234 and #235).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.4</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.3(Aug 16, 2019)

    OpenPDF 1.3.3 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Bugfix to font loading (#231).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.3</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.2(Aug 13, 2019)

    OpenPDF 1.3.2 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Don't clean metadata by default in Stamper. (#230).
    • Modernization efforts (#223, #224, #225, #226, #227, #228).
    • Fix binary transparency bug (#216, #222).
    • Bugfixes by drawing text in PdfGraphics2D (#221).
    • Fix bug concerning stroke colors when simulating bold fonts (#220).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.2</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.1(Aug 1, 2019)

    OpenPDF 1.3.1 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Fix NullPointerException for OTF Fonts (#214).
    • Allow to create indirect references from other projects (#212).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.1</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Jul 29, 2019)

    OpenPDF 1.3.0 has been released. OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. This release contains these new improvements:

    • Modernization of OpenPDF to use more modern Java features (#139, #200, #201, #202, #210).
    • Bugfix check font size before drawing string (#209).
    • Fix using Document in try-with-resources (#198).

    Update to the latest OpenPDF version by using this in your pom.xml file:

        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <version>1.3.0</version>
        </dependency>
    
    Source code(tar.gz)
    Source code(zip)
Owner
null
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
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
Extract tables from PDF files

tabula-java tabula-java is a library for extracting tables from PDF files — it is the table extraction engine that powers Tabula (repo). You can use t

Tabula 1.5k Jan 9, 2023
Core Java Library + PDF/A, xtra and XML Worker

iText 5 is EOL, and has been replaced by iText 7. Only security fixes will be added Known Security Issues org.apache.santuario:xmlsec vul

iText 1.4k Jan 9, 2023
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
XML/XHTML and CSS 2.1 renderer in pure Java

Flying Saucer OVERVIEW Flying Saucer is a pure-Java library for rendering arbitrary well-formed XML (or XHTML) using CSS 2.1 for layout and formatting

null 1.8k Jan 2, 2023
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
Welcome 🙌! This repository encourages daily contributions from anyone intending to learn Data Structures and Algorithms every day

?? DSA-Community Welcome ?? ! This repository encourages daily contributions from anyone intending to learn Data Structures and Algorithms consistentl

Bishal Mohari 4 Sep 9, 2022
Welcome to the EHS robotics club's GitHub repository, this will also be used as our primary community center and means of communication. Also be sure to join our remind for on the go updates @EHSFTC21

NOTICE This repository contains the public FTC SDK for the Ultimate Goal (2020-2021) competition season. Formerly this software project was hosted her

null 5 Feb 25, 2022
A mobile provider is a program that has a fixed offer of phones as well as packages, where we can submit requests for the same.

A mobile provider is a program that has a fixed offer of phones as well as packages, where we can submit requests for the same.

Ljubinko Stojanović 4 Apr 27, 2022
Hacktoberfest 2022 : Repository for open-source contributions towards Hacktoberfest 2022

Hacktoberfest 2022 OPEN Pull Request - FREE T-SHIRT's ?? DON'T COMMIT ~ PR REPO HAS BEEN EXCULDED ( DON'T KNOW THE EXACT REASON ~ RUMORS ARE THAT THIS

Saurabh Kumar 112 Jan 9, 2023
Pcap editing and replay tools for *NIX and Windows - Users please download source from

Tcpreplay Tcpreplay is a suite of GPLv3 licensed utilities for UNIX (and Win32 under Cygwin) operating systems for editing and replaying network traff

AppNeta, Inc. 956 Dec 30, 2022
Tribal Trouble GNU 2 Tribal Trouble - Tribal Trouble is a realtime strategy game released by Oddlabs in 2004. In 2014 the source was released under GPL2 license. License: GNU 2, .

Tribal Trouble Tribal Trouble is a realtime strategy game released by Oddlabs in 2004. In 2014 the source was released under GPL2 license, and can be

Sune Hagen Nielsen 147 Dec 8, 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
This repository is totally dedicated to Hacktoberfest 2021, feel free to add your project.

push-it-hacktoberfest This repository is totally dedicated to Hacktoberfest 2021, feel free to add your project. HacktoberFest21 Hello Hackers, Contri

Muhammad Bilal 3 Oct 31, 2021
A library for creating and editing graph-like diagrams in JavaFX.

Graph Editor A library for creating and editing graph-like diagrams in JavaFX. This project is a fork of tesis-dynaware/graph-editor 1.3.1, which is n

Steffen 125 Jan 1, 2023
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
code to the rat i give to people if u want to change the webhook its in "src/main/java/github/quantizr/autogg/guis/gui" please just dont sell my rat :(

SkyblockRat My rats code join my discord! https://discord.gg/bbK6ndHqN6 i got tired of people asking "is it double hooked?!" so here is my rats code y

null 6 Dec 10, 2022
fabric-carpet extension mod which attempts to fix as many vanilla bugs as possible. Feel free to add as many fixes as you want!

Carpet-Fixes Fabric Carpet extension mod which attempts to fix as many vanilla bugs as possible! Feel free to contribute by adding as many fixes as yo

Fx Morin 90 Jan 6, 2023