Commit Graph

1540 Commits

Author SHA1 Message Date
BobLd
63096de210 Add IPageFactory to the public API, remove InternalParsingOptions 2023-10-25 20:03:02 +01:00
BobLd
ba865b340e Make IResourceStore part of the public API and pass InternalParsingOptions to the ResourceStore constructor 2023-10-22 19:16:41 +01:00
BobLd
7ab3a6a2cd
Add more classes to the Public API (#717)
* Made interfaces and classes public

* Made NamedDestinations public and fixed namespace

* Fixed NamedDestinationsProvider namespace

* Expose more internal classes as public

* Update PublicApiScannerTests

* Make setters internal
2023-10-22 17:34:47 +01:00
Eliot Jones
96ba82ad4e
allow writing custom metadata to document builder #669 (#715)
* allow writing custom metadata to document builder #669

* skip null entries
2023-10-22 10:33:06 +01:00
BobLd
c6e2de1b0c
Make all structs readonly when possible 2023-10-18 23:44:11 +01:00
BobLd
f5b4b84dea Handle SetFlatness operator with no value and fix #682 2023-10-18 22:59:53 +01:00
BobLd
fe0e4db419 Properly handle page rotation for crop box and media box and fix #665 2023-10-18 21:27:56 +01:00
mli
81cdb474e1 Add support for custom xmp metadata to PdfDocumentBuilder #490 2023-10-14 12:07:44 +01:00
Mark van 't Zet
06ac832616 Swapped args, doh 2023-09-29 10:44:54 +01:00
Mark van 't Zet
3786f09041 Replace Assert.True(str.Contains(substr)) with Assert.Contains(str, substr) 2023-09-29 10:44:54 +01:00
Mark van 't Zet
e3f281435a Fix for #662: when encountering invalid content, try to continue parsing
if option "useLenientParsing" is in effect.
2023-09-29 10:44:54 +01:00
Mark van 't Zet
d59d2c61a0 Fix exception messages: these showed e.g.
"The cm operator must pass 6 numbers. Instead got: Decimal[]"
instead of
"The cm operator must pass 6 numbers. Instead got: 4"
2023-09-13 08:56:43 +08:00
Michael Schnyder
ee756088d9 allow OS specific ISystemFontFInder implementations for all build targets above and include .NET Standard 2.0 2023-08-26 20:31:36 +01:00
BobLd
4a480ffd7f Fix null reference in GlyphDataTable occuring after ReadGlyphs() 2023-08-05 20:06:05 +01:00
BobLd
d1e8b42877 Check and handle circular references when processing XObject forms and fix #671 2023-08-05 20:05:47 +01:00
Eliot Jones
e99fa4eef6
Merge pull request #677 from UglyToad/revert-to-nightly-in-main-package-feed
move nightly builds back to main feed
2023-08-05 16:35:11 +01:00
Eliot Jones
fcf09ac6b3 move nightly builds back to main feed 2023-08-05 16:22:55 +01:00
BobLd
45e21717c8 Handle invalid xml characters in text exporters and fix #655 2023-08-05 16:21:21 +01:00
BobLd
9aaf20ceb4 Address #672 to ignore errors while reading the descriptor file in CidFontFactory 2023-08-05 16:21:01 +01:00
BobLd
8a82500427 Improve KdTree memory allocation using ArraySegments 2023-07-23 15:35:26 +02:00
Eliot Jones
76fc9808fc skip zero length truetype format 0 cmap table 2023-07-23 14:30:21 +01:00
Eliot Jones
954b3cee47 tidy up form stream check logic 2023-07-23 14:19:29 +01:00
Eliot Jones
6c0f8b762c
Merge pull request #652 from mvantzet/PreventCorruptionWhenRemovingText-538
Prevent PDF corruption when removing text (#538)
2023-07-23 14:16:16 +01:00
mvantzet
928c2ef2fc Prevent reading (and modifying!) non-content streams, reducing chances of PDF corruption.
Added skipping operation MoveToNextLineShowText as well.
Also duplicate the original stream's dictionary which solves disappearing elements (due to
missing SubType / BBox for example).
2023-06-21 14:54:11 +02:00
BobLd
94cc9be967 Fix regression introduced in #561 where paths were not clipped correctly for rotated pages due to initial clipping path not being transformed 2023-06-20 23:47:52 +01:00
Eliot Jones
ae83f39e28
detail new nightly build location 2023-06-07 20:54:59 +01:00
Eliot Jones
c6a6d885ff Merge branch 'master' of github.com:UglyToad/PdfPig 2023-06-06 19:37:38 +01:00
Eliot Jones
32cf25e6b7 fix typo in accursed yaml 2023-06-06 19:36:29 +01:00
Eliot Jones
129e69fdf9
Merge pull request #638 from UglyToad/pdfdocencoding
Implement PdfDocEncoding for reading string tokens
2023-06-05 22:01:25 +01:00
Eliot Jones
66248f19e4 include readme in package 2023-06-05 22:01:04 +01:00
Eliot Jones
2366d22719 move nightly builds to separate package id
while nightly builds are useful they also cause
a large amount of spam on the main project
nuget. here we try to change the package id
so that it will be hosted as a separate package
while having all the same code and namespaces
this means people can opt into the nightly builds
while keeping the version history of the released
package tidy.

no idea if this will work because actions and
yaml is my idea of hell and is impossible to
debug, but let's give it a go
2023-06-05 21:48:02 +01:00
Eliot Jones
2be4c69c16 set nightly release version
also toggles class back to public for nightly
versions #538
2023-06-05 21:37:34 +01:00
Eliot Jones
16ac297d10 version 0.1.8 2023-06-05 21:36:00 +01:00
Eliot Jones
4118ae0df4 temp hide pdftextremover #538 2023-06-05 21:09:41 +01:00
Eliot Jones
8edbd18a07 use encoding aware reader for decrypt 2023-06-04 17:02:27 +01:00
Eliot Jones
81bb6fce83 use built in encoding handling 2023-06-04 16:49:37 +01:00
Eliot Jones
6f59bed9a2 use pdfdocencoding when parsing strings 2023-06-04 16:40:43 +01:00
Eliot Jones
7fe5fc2272 add test case for armenian alphabet 2023-06-04 14:14:18 +01:00
Eliot Jones
9d2b3f914d account for skipmissingfonts in positioned text #637 2023-06-04 11:47:30 +01:00
Eliot Jones
6daa2ec192
Merge pull request #634 from UglyToad/type-2-font-hflex
Implement hflex and hflex1 operators in Type2CharStringParser (fix #558)
2023-05-28 18:05:48 +01:00
BobLd
5b48011256 Implement hflex and hflex1 operators in Type2CharStringParser (fix #558) 2023-05-28 17:43:13 +01:00
Eliot Jones
5126d28612 isolate incorrect letter test case #558 2023-05-27 16:37:53 +01:00
Eliot Jones
edf99acdf4 write version from builder in xmp metadata #633 2023-05-27 13:52:28 +01:00
Eliot Jones
211b27062d support looking up in reply to value for annotation #362 2023-05-27 13:40:01 +01:00
Eliot Jones
fba1cbc13c skip missing objects if skip fonts is true #298
if skip missing fonts is set we want to read the file
as much as possible so we will also skip any missing
xobjects like images, forms or postscript code
2023-05-27 10:46:29 +01:00
Eliot Jones
20d3cc9066 tidy up during investigation #600 2023-05-23 19:22:00 +01:00
Eliot Jones
11df5b520d update y if preceding letter was blank #603 2023-05-22 20:40:36 +01:00
Eliot Jones
471dca8327 amend default word extractor logic #603
default word extractor consumed words sorted
by descending y value order and had a check for
when the following letter had a value more than 0.5
units different to the current baseline (from first letter)
position. however we were checking if the new value was
more than the current baseline which it could never
be since the letter was always guaranteed to have an
equal or lower y value based on initial sort (since pdf
y dimension runs top to bottom)
2023-05-22 20:22:19 +01:00
Eliot Jones
98be67d93b
Merge pull request #629 from thinkbeforecoding/fix/copyfrom
Fix: copyfrom resources collisions
2023-05-22 19:59:14 +01:00
BobLd
d244c10a94 Add caching to DeviceN and Separation colors spaces when rendering images 2023-05-22 09:27:37 +01:00