Borb Versions Save

borb is a library for reading, creating and manipulating PDF files in python.

v2.1.0

1 year ago

:mega: borb release 2.1.0

This release is a feature release:

  • The LayoutElement framework has had a major upgrade
    • Each LayoutElement now offers a get_layout_box method which tells you how much space a LayoutElement takes up
    • Each LayoutElement now offers a paint method which renders the LayoutElement on a Page
    • LayoutElement only adds its own content to the Page (previously it would change the order of page content to ensure backgrounds get drawn first)
  • As a result of these changes, layout is a bit faster in this release, compared to previous releases
  • All tests have been checked and changed to take into account the new behaviour
  • Tests that perform visual comparison ignore HexColor("00ff00"), which allows me to add the date of the test in the output, and still compare only the relevant pixels
  • MarkdownToPDF has been refactored to convert Markdown to HTML
  • HTMLToPDF still needs work to produce PDF documents

v2.0.32

1 year ago

:mega: borb release 2.0.32

This release is a small bugfix release:

  • fixed Checkbox to produce valid PDF syntax
  • refactored a few tests to have consistent naming
  • included ProgressBar and ProgressSquare classes to make it easier to make reports
  • included TableUtil and TableUtil.from2DArray to make it easier to build tables

v2.0.31

1 year ago

:mega: borb release 2.0.31

This release is a small bugfix release:

  • include ' as a valid postfix operator (improve text reading by 2%)

v2.0.30

1 year ago

:mega: borb release 2.0.30

This release is a feature release.

  • Initial support for Font subsetting in PDF
  • Small fix for TextField appearance dictionary
  • Small fix for CheckBox appearance dictionary

v2.0.29

1 year ago

:mega: borb release 2.0.29

This release is a feature release.

  • Remove the unneeded resources (tests and doc) from the build

v2.0.28

1 year ago

:mega: borb release 2.0.28

This release is a feature release.

  • Massive rename of all append methodes to add for the sake of consistency
  • Introduced header_footer_multi_column_layout to enable a PageLayout with repeating header and footer
  • Remove unimplemented BoxLayout
  • Add header_row_color option to even_odd_row_colors method in Table

v2.0.27

2 years ago

:mega: borb release 2.0.27

This release is a small bugfix release.

  • fixed RunLengthDecode
  • fixed ImageTransformer to allow reading (JPEG) images, even when the /Type and /Subtype entry are not set
  • fixed DocumentInfo.get_file_size()

v2.0.26

2 years ago

:mega: borb release 2.0.26

This release is a small bugfix release.

  • fixed LZWDecode
  • add FarrowAndBall color definitions

v2.0.25

2 years ago

:mega: borb release 2.0.25

This release is a small feature release.

  • Small fix in TextAnnotation.
  • Small fix(es) in tests related to redaction.
  • All tests that produce a PDF now check the validity of that PDF using an external validator.
    • The default profile of this validator checks against the latest version of the PDF spec. borb was built to adhere to iso32000. Most notable difference is the embedding of the standard 14 fonts. I made a separate profile that checks only against the iso32000 spec.
    • CheckBox should be debugged. The validator marks it as a bad PDF.
    • For PDF A1/b to really match the spec, the fonts (even standard 14) need to be embedded.
  • You can now specify multiplied_inter_column_spacing in MultiColumnLayout.
  • x or Decimal(y) evaluates to Decimal(y) when x == Decimal(0). This was unintended. I only wanted it to evaluate to Decimal(y) when x is None. I fixed all unwanted occurrences. This mostly affected the LayoutElement classes.
  • Add Alignment to easy imports
  • Add LoremIpsum class to quickly generate dummy text (using a markov chain)

v2.0.24

2 years ago

:mega: borb release 2.0.24

This release is a small feature release.

  • a strong effort has been made to annotate all asserts
  • all public methods are documented
  • fixed a small bug in Page.apply_redact_annotations
  • fixed a ton of mypy warnings