Releases: jorisschellekens/borb
Releases · jorisschellekens/borb
v2.1.1
📣 borb release 2.1.1
This release is a feature release:
HTMLToPDF
has been updated to ensure even more HTML syntax is supportedHTMLToPDF
allows you to specify atyping.List[Font]
of fallback fonts- This allows you to use non-western characters in HTML and markdown
MarkdownToPDF
now usesHTMLToPDF
(making it easier for me to maintain the code)- Added
BlockFlow
andInlineFlow
elements - Added
SingleColumnLayoutWithOverflow
to enable certainLayoutElement
implementations to be split across multiplePage
objects. Currently only splitting ofTable
is supported.
v2.1.0
📣 borb release 2.1.0
This release is a feature release:
- The
LayoutElement
framework has had a major upgrade- Each
LayoutElement
now offers aget_layout_box
method which tells you how much space aLayoutElement
takes up - Each
LayoutElement
now offers apaint
method which renders theLayoutElement
on aPage
LayoutElement
only adds its own content to thePage
(previously it would change the order of page content to ensure backgrounds get drawn first)
- Each
- 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 convertMarkdown
toHTML
HTMLToPDF
still needs work to produce PDF documents
v2.0.32
📣 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
andProgressSquare
classes to make it easier to make reports - included
TableUtil
andTableUtil.from2DArray
to make it easier to build tables
v2.0.31
📣 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
📣 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
📣 borb release 2.0.29
This release is a feature release.
- Remove the unneeded resources (
tests
anddoc
) from the build
v2.0.28
📣 borb release 2.0.28
This release is a feature release.
- Massive rename of all
append
methodes toadd
for the sake of consistency - Introduced
header_footer_multi_column_layout
to enable aPageLayout
with repeating header and footer - Remove unimplemented
BoxLayout
- Add
header_row_color
option toeven_odd_row_colors
method inTable
v2.0.27
📣 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
📣 borb release 2.0.26
This release is a small bugfix release.
- fixed
LZWDecode
- add
FarrowAndBall
color definitions
v2.0.25
📣 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.
- The default profile of this validator checks against the latest version of the PDF spec.
- You can now specify
multiplied_inter_column_spacing
inMultiColumnLayout
. x or Decimal(y)
evaluates toDecimal(y)
whenx == Decimal(0)
. This was unintended. I only wanted it to evaluate toDecimal(y)
whenx is None
. I fixed all unwanted occurrences. This mostly affected theLayoutElement
classes.- Add
Alignment
to easy imports - Add
LoremIpsum
class to quickly generate dummy text (using a markov chain)