Commit Graph

1590 Commits

Author SHA1 Message Date
BobLd
e10609e4e1 Use pdfScanner in ReadVerticalDisplacements and fix #693 and return 0 in CMap on exception in ReadByte() if useLenientParsing is true and fix #692
Some checks failed
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-19 00:29:42 +01:00
Arnaud TAMAILLON
ea95a7ae7a Support decrypting V4/R4 files with AESV2 and no Length property
Some checks failed
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-17 20:43:21 +01:00
BobLd
8cee4f480f Introduce ParsingOptions.FilterProvider and BaseFilterProvider and make CcittFaxCompressionType a byte 2024-10-17 20:27:24 +01:00
BobLd
4b5cb4736f Make IFilter implementation classes public 2024-10-17 20:27:24 +01:00
BobLd
c6793da4f4 Reorganise Filters folder 2024-10-17 20:27:24 +01:00
BobLd
e903b6c365 Remove list from FileTrailerParser.GetStartXrefPosition()
Some checks failed
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-15 20:02:45 +01:00
BobLd
f40545b0a5 Add early version of BrowserSystemFontLister
Some checks failed
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-12 16:49:36 +01:00
BobLd
a258090e1c Fix GetTextOrientation by cleanly checking if rotation is divisible by 90 and fix #913
Some checks failed
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-07 20:08:24 +01:00
Eliot Jones
c46722fa26 version 0.1.9
Some checks failed
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-06 15:40:24 +01:00
Eliot Jones
eb9a191e0d remove useless checksum check for truetype font processing
Some checks failed
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-09-29 18:17:40 +01:00
BobLd
f6566d6007 Fix #878
Some checks are pending
Build and test / build (push) Waiting to run
Run Integration Tests / build (push) Waiting to run
2024-09-29 16:45:33 +01:00
BobLd
5260c4ba3d Fix Separation color space and add tests 2024-09-29 16:45:05 +01:00
BobLd
8ce6bcc2a7 Fix ByteEncodingCMapTable.CharacterCodeToGlyphIndex() to account for glyph mapping length, add test and fix #881 2024-09-29 16:44:43 +01:00
BobLd
ad785328e1 Handle unpacking components for 16 bits per component images and use Span in RemoveStridePadding 2024-09-29 16:44:13 +01:00
BobLd
5c168f9cd0 Handle null token in DirectObjectFinder, handle null state in SetNamedGraphicsState(), add and test and fix #874 2024-09-29 16:43:50 +01:00
BobLd
689c127cd9 Get correct text orientation when base line points are equal and fix #741 2024-09-29 16:43:21 +01:00
Arnaud TAMAILLON
4845f43696
Support reading files with missing white space after xref in lenient mode (#906)
Support missing white space after xref

---------

Co-authored-by: Arnaud TAMAILLON <arnaud.tamaillon@younited-credit.fr>
2024-09-09 07:09:04 +01:00
yjagota
09bddba778
Enabled ClipPaths option to filter letters. (#905)
* Enabled ClipPaths option to filter letters.

* parsingOptions is not passed as  an argument now.
2024-09-08 13:36:26 +01:00
Arnaud TAMAILLON
cd2a85e642 Ensure tests are reusing the previous build and run on release configuration 2024-09-03 05:09:03 +01:00
Arnaud TAMAILLON
abce843923 Fix message 2024-09-03 05:09:03 +01:00
Arnaud TAMAILLON
fc3cd81c96 Support relaxed parsing of missing or garbage-prepended endobj/endtream tokens 2024-09-03 05:09:03 +01:00
Arnaud TAMAILLON
f4d1456489 Support parsing lines after references count in lenient mode 2024-09-02 21:22:56 +01:00
Arnaud TAMAILLON
cf45dcf6ad
Support not finding the Pages dictionary in lenient mode (#897)
* Support not finding the Pages dictionary in lenient mode and support Kids object not referencing a page object in lenient mode

---------

Co-authored-by: Arnaud TAMAILLON <arnaud.tamaillon@younited-credit.fr>
2024-09-01 15:09:48 +01:00
Arnaud TAMAILLON
1bfd6dedb4 Support finding object declarations without endobj on previous object 2024-09-01 13:12:36 +01:00
Arnaud TAMAILLON
bd9702a402 Skip whole " obj" parsing once found 2024-09-01 13:12:36 +01:00
Arnaud TAMAILLON
68e48d04f0 Support decrypting AES data where only IV is present 2024-09-01 10:00:06 +01:00
Arnaud TAMAILLON
4f2a0976e3 Fix parsing of hexadecimal strings with odd number of characters 2024-09-01 09:02:37 +01:00
Arnaud TAMAILLON
05e6a894d0 Fix reading encryption byte strings 2024-09-01 08:54:20 +01:00
Arnaud TAMAILLON
b824fb2b14 Support trailer info to be a dictionary instead of an indirect reference 2024-08-31 09:26:43 +01:00
BobLd
b4649758c6 Restore checking for correct image size in PngFromPdfImageFactory 2024-08-20 19:18:31 +01:00
BobLd
a8684984eb Fix DoubleComparer precision in tests 2024-08-20 19:17:45 +01:00
BobLd
56baa3592b Simplify PdfRectangle width and height computation and fix tests 2024-08-20 19:17:45 +01:00
BobLd
a99c0d25bf Fix GeometryExtensions.Contains() when rectangle area is 0 2024-07-20 21:43:16 +01:00
BobLd
65c644f150 Minor performance optimisations in GeometryExtensions 2024-07-01 18:34:13 +01:00
BobLd
bac00e475b Improve KdTree creation performance 2024-06-27 23:20:16 +02:00
BobLd
b05dfac672 Further performance improvements in DocstrumBoundingBoxes 2024-06-27 23:19:55 +02:00
BobLd
14e7024545 Reduce memory allocation in DocstrumBoundingBoxes 2024-06-25 15:01:30 +02:00
davebrokit
dc933aede9 Fix issues in Advanced Example in README.md 2024-06-24 12:14:41 +02:00
BobLd
d2cae7985c Tidy up documentation 2024-06-11 18:20:28 +01:00
BobLd
d96ec7a9af Make DirectObjectFinder public 2024-06-11 18:20:28 +01:00
BobLd
531e00e9c9 Make DictionaryTokenExtensions and ArrayTokenExtensions public 2024-06-11 18:20:28 +01:00
BobLd
affc1ed8b5
Seal and update IFilters to return ReadOnlyMemory<byte> (#843)
* Avoid ToArray() in memoryFactory

* Seal and update IFilters to return ReadOnlyMemory<byte>

* Fix filter tests

* Seal and update IFilters to return ReadOnlyMemory<byte>
2024-06-08 06:16:09 +01:00
Sylvain Bruyere
65a18b200f
Improve TryReadStream with simplification & fix of Stream Invalid Length cutting off Streams (#838)
* Improve TryReadStream with simplification & fix of Stream Invalid Length cutting off Streams

- Fix of Stream invalid Length issue causing stream data being cut off: fix https://github.com/UglyToad/PdfPig/issues/809

- Improve Stream Token read performance by:
  -  simplifying TryReadStream(), avoiding use of MemoryStream, with benefice of already existing Memory Span of "inputBytes"
  - removing the unecessary List<>

* Add Stream with Invalid Length unit test

* Use of Memory<> instead of direct Span to avoid byte array allocation .ToArray.
Suggestion from (4153e4a1b4 (r1619509165))
2024-05-31 07:16:56 +01:00
davebrokit
d7e434edaa
#836 Fix UnsupervisedReadingOrder orders 2 blocks on the same row out of order (#841)
* #836 Fix UnsupervisedReadingOrder orders 2 blocks on the same row out of order
Add images for documentation

* Update Documentation: Additional example, Reference to wiki

* Change code formating to C# on documentation

* Fix link in documentation

* Fix Spelling

---------

Co-authored-by: David <David@david>
2024-05-29 22:16:05 +01:00
Richard Webb
d86c2f44f0
Use a fixed list of operations in ReflectionGraphicsStateOperationFac… (#832)
* Use a fixed list of operations in ReflectionGraphicsStateOperationFactory rather than searching via reflection.

* Add a unit test to check that ReflectionGraphicsStateOperationFactory.operations contains all supported graphics operations
2024-05-09 06:57:14 +01:00
BobLd
5a8e6179da Add AndroidSystemFontLister 2024-05-08 19:13:36 +01:00
Richard Webb
995f287e0d
Update the dependencies in UglyToad.PdfPig.Package (#835) 2024-05-07 20:21:04 +01:00
Richard Webb
937793bec7 Update Github actions in the CI build 2024-05-06 17:38:00 +01:00
Richard Webb
2cf8762128 Conditionalize the formatter based serialization bits in InvalidFontFormatException 2024-05-06 17:37:15 +01:00
Jason Nelson
c6a7a2d0a2
Improve Code Quality (#831)
* Introduce globals

* Spanify TransformationMatrix.FromArray

* Eliminate allocation in GeometryExtensions.ParametricPerpendicularProjection

* Eliminate allocation in CrossReferenceTablePart.Parse

* Optimize Adam7 (eliminate virtual calls)

* Spanify QuadPointsQuadrilateral.Points to eliminate virtual calls

* Eliminate allocation in PdfRectangle.Normalize

* Format TransformMatrix

* Pass TransformationMatrix  by reference in TransformationMatrix.Multiply

* Seal NoTextTokenWriter
2024-05-06 07:38:06 +01:00