Releases: jorisschellekens/borb
v2.1.14
📣 borb release notes
This release features the arrival of RGBA
Image
objects in borb
.
There is also a significant speedup in text layout due to a clever width-estimation.
v2.1.13
📣 borb release notes
This release refactors the testing in borb
.
- All tests have been refactored into directories corresponding the main functionality they test
- E.g. tests for
Equation
(inborb.pdf.canvas.layout.equation
) can be found intests.pdf.canvas.layout.equation
- Tests derive from
TestCase
TestCase
offers some utility methods to standardize output filesTestCase
offers the methods to visually compare an outputTestCase
offers the methods to check a PDF using a validator
- E.g. tests for
v2.1.11
📣 borb release notes
This release is a feature release:
-
Added
Equation
to theLayoutElement
hierarchyEquation
allows you to easily add mathematical expressions to a PDF- Determine the
font
,font_size
,font_color
and many other attributes Equation
behaves just like any otherLayoutElement
-
Fix minor issue in
SimpleFindReplace
-
Fix minor issue in
Image
(present forImage
objects with modeLA
) -
Fix
vertical_alignment
forTable
implementationsvertical_alignment
is now relative to theTable
rather than to thePage
- This approach does incur the cost of having to determine the tallest
LayoutElement
in the row
v2.1.10
📣 borb release notes
This release is a beauty pageant release:
- Classes have been split in 3 parts:
CONSTRUCTOR
PRIVATE
PUBLIC
- 👍 All class-methods in the
borb
package have been sorted (in their respective part) - 👍 All public methods have been documented
- 👍 The vast majority of
mypy
warnings have been taken care of
Although the majority of the work has been done, this will always be an ongoing task.
As new development adds code, I may need this kind of release from time to time to ensure the quality of the code
stays up.
This release includes the following minor fixes:
- minor fix in
DisconnectedShape
(method names related to scaling were not analoguous toConnectedShape
)
v2.1.8
📣 borb release notes
This release is a bugfix release.
v2.1.7
📣 borb release notes
This release is a feature release.
- Introducing
SimpleFindReplace
which enables you to find and replace text in a PDF- For examples on how to use it, check the examples repository
- You can also check the
tests
directory in this project
This release fixes inconsistencies in toolkit
Most of the classes in the following table implement EventListener
and are part of the package toolkit
.
They have a class method (which you can call if you instantiate them and add them as EventListener
to a PDF).
They also have a static method that you can call. The class method and static method typically return the same type/thing.
The static method has the advantage that it allows you to work with a Document
, whereas the class method only works with a PDF that is being loaded.
Or, to put it simply, the static method can be used at any point in the life-cycle of Document
, whereas the class method can only be used when reading an existing PDF.
This table gives you an overview of the available classes in toolkit
and their methods:
class | class method | static method | status |
---|---|---|---|
ColorExtraction |
get_color |
get_color_from_pdf |
✔️ |
FontExtraction |
get_fonts |
||
FontExtraction |
get_font_names |
||
HTMLToPDF |
convert_html_to_layout_element |
✔️ | |
HTMLToPDF |
convert_html_to_pdf |
✔️ | |
ImageExtraction |
get_images |
get_images_from_pdf |
✔️ |
MarkdownToPDF |
convert_markdown_to_layout_element |
✔️ | |
MarkdownToPDF |
convert_markdown_to_pdf |
✔️ | |
PDFToJPG |
convert_to_jpg |
convert_pdf_to_jpg |
✔️ |
PDFToMP3 |
convert_to_mp3 |
convert_pdf_to_mp3 |
✔️ |
PDFToSVG |
convert_to_svg |
convert_pdf_to_svg |
✔️ |
RegularExpressionTextExtraction |
get_matches |
get_matches_for_pdf |
✔️ |
SimpleLineOfTextExtraction |
get_lines_of_text |
get_lines_of_text_from_pdf |
✔️ |
SimpleNonLigatureTextExtraction |
get_text |
get_text_from_pdf |
✔️ |
SimpleParagraphExtraction |
get_paragraphs |
get_paragraphs_from_pdf |
✔️ |
SimpleTextExtraction |
get_text |
get_text_from_pdf |
✔️ |
TableDetectionByLines |
get_tables |
||
TableDetectionByLines |
get_table_bounding_boxes |
||
TextRankKeywordExtraction |
get_keywords |
get_keywords_from_pdf |
✔️ |
TFIDFKeywordExtraction |
get_keywords |
get_keywords_from_pdf |
✔️ |
v2.1.6
📣 borb release notes
This release is a maintenance release.
- minor fix to annotations and
Page
- minor fix to
Hyphenation
v2.1.5
📣 borb release notes
This release is a maintenance release.
FormField
elements behave more likeLayoutElement
now- Add more
SmartArt
- Add automated testing using GitHub actions
- Add
Version
class to have 1 point of reference for getting version/author/producer information
Usage Statistics
Recently, borb
has gone into the early stages of finding a reseller.
This is a very exciting step that I am sure will bring positive things for all of us, both borb
and its users.
Understandably, the marketing/sales team would like some data to figure out what our target audience is, where to invest effort and resources, and more.
So I have added UsageStatistics
to borb
. This class gathers the following data:
- anonymous user ID (This is a randomly generated UUID, it is persisted in the installation directory of
borb
to ensure consistency between calls) - city
- country name
- country code
- system platform (the operating system on which
borb
is running) - state
- utc time in ms
- version (the version of
borb
that is running)
These statistics are periodically sent to our server(s). I have done my best to ensure this does not hinder the performance of borb
in any way.
I urge to look at the source code of the License
package to reassure yourself of the fact that we are gathering only the bare minimum of data.
Nevertheless, I fully understand that you may prefer not to send this information.
You can turn it off by calling UsageStatistics.disable()
.
v2.1.4
📣 borb release 2.1.4
This release is a maintenance/feature release.
- Fixed inconsistent function names in
borb.toolkit
- Updated examples repository
- Fixed issue with
deepcopy
onborb
objects- Added tests for
deepcopy
- Added tests for
- Added more random text generators so users can pick a flavor
- Added
SmartArt
to allow document designers to easily create beautiful charts and illustrations- Added tests for
SmartArt
- More
SmartArt
to come in future releases
- Added tests for
v2.1.3
📣 borb release 2.1.3
This release is a minor bugfix release:
-
Following the large refactor of
LayoutElement
, some minor classes still needed to be updated to work with the new framework.
Most notable among these is HTMLToPDF`. -
GradientColoredDisjointShape
has becomeGradientColoredDisconnectedShape
to follow suit with the rename ofDisjointShape
toDisconnectedShape
. -
InlineFlow
andBlockFlow
have been moved topage_layout
. Easy imports have been provided for them. -
More convenient imports have been made possible for
FormField
elements. -
The documentation of
borb
(to be found in the examples repository) has been given a major check.
There is also a script that will automatically attempt to run each example code snippet.
This should make it easier to detect when a new release breaks something in the examples repository.