Commit Graph
100 Commits
Author SHA1 Message Date
BobLd d1d79b0b4c Check ColorSpace token as dictionary and fix issue #1061 2025-06-25 19:20:02 +01:00
BobLd 89abf6de54 Skip creating IndirectReference in CrossReferenceTablePartBuilder when generationNumber is more than 65,535
Build and test / build (push) Has been cancelled
Build and test [MacOS] / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
Nightly Release / tests (push) Has been cancelled
Nightly Release / Check latest commit (push) Has been cancelled
Nightly Release / build_and_publish_nightly (push) Has been cancelled
2025-06-01 14:16:22 +01:00
BobLd 24431b1f9f Optimize internal representation of IndirectReference 2025-06-01 12:02:29 +01:00
BobLd 8f9194c9a4 Miscellaneous minor changes 2025-05-31 23:02:46 +01:00
BobLd fe3d15d5db Add extension method to get Memory<byte> from MemoryStream, attempting to do it without allocation and update CMapParser 2025-05-30 13:02:55 +01:00
BobLd b5b58434e9 Make the Diacritics class public for use in external StreamProcessors 2025-05-30 09:25:03 +01:00
BobLd d9b3891eb3 Do not throw if the Mask dictionary contains a ColorSpace key 2025-05-30 07:53:25 +01:00
BobLd 4bdb85d1ff Modernise PngPredictor and refactor LzwFilter and FlateFilter to reduce memory allocation 2025-05-29 22:43:46 +01:00
BobLd f84f2aceec Improve memory allocation by changing IFilter.Decode() signature to use Memory<byte> instead of ReadOnlyMemory/ReadOnlySpan 2025-05-29 12:41:50 +01:00
BobLd 2b54a546d3 Check for infinite recursion in ObjectLocationProvider.TryGetOffset() and fix #1050 2025-05-28 20:24:31 +01:00
BobLd 5b566b53da Only reset missed attempts count if table is found in CrossReferenceParser.Parse() and fix #1047 2025-05-27 20:57:38 +02:00
BobLd ca9f70ffb0 Skip control chars in CoreTokenScanner.MoveNext() and fix #1048 2025-05-27 20:57:38 +02:00
BobLd 67d3dde04a Handle TrueType case in CidFontFactory where the font is CFF, implement missing members in PdfCidCompactFontFormatFont and fix #554
Build and test / build (push) Has been cancelled
Build and test [MacOS] / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
Nightly Release / tests (push) Has been cancelled
Nightly Release / Check latest commit (push) Has been cancelled
Nightly Release / build_and_publish_nightly (push) Has been cancelled
2025-05-19 00:27:51 +01:00
BobLd e4d7805a1f Add test to ensure #822 is fixed 2025-05-18 22:32:07 +01:00
BobLd 6911f31b49 Try to repair xref offset by looking for all startxref and fix #1040
Build and test / build (push) Waiting to run
Build and test [MacOS] / build (push) Waiting to run
Run Integration Tests / build (push) Waiting to run
2025-05-18 17:32:27 +01:00
BobLd bf7c3c01d0 Fix bug introduced in #1039
Build and test / build (push) Has been cancelled
Build and test [MacOS] / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-05-13 18:44:31 +01:00
BobLd 4dab2ef239 Add early support for Stencil masking, rename SoftMaskImage property into MaskImage and make sure IsInlineImage is true for InlineImage
Build and test / build (push) Has been cancelled
Build and test [MacOS] / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-05-11 16:05:55 +01:00
BobLd 0bed135bad Make sure the value of the ImageMask / Im token is check in ColorSpaceDetailsParser 2025-05-11 14:34:40 +01:00
BobLd 47584716ec Add support for MacCatalyst in SystemFontFinder
Build and test / build (push) Has been cancelled
Build and test [MacOS] / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
Nightly Release / tests (push) Has been cancelled
Nightly Release / Check latest commit (push) Has been cancelled
Nightly Release / build_and_publish_nightly (push) Has been cancelled
2025-04-24 19:17:48 +01:00
BobLd afdd1f8924 Fix issue #1013 2025-04-20 18:03:04 +01:00
BobLd 580858348b Seal PdfSubpath class and IPathCommand implementations, fix Close.GetHashCode() and fix #1027 2025-04-12 16:39:48 +01:00
BobLd 24902f1839 Update README.md 2025-04-06 12:06:36 +01:00
BobLd 87f5735b26 Refactor AesEncryptionHelper and check for sting length when using < net8 2025-04-06 12:04:24 +01:00
BobLd eeac910e44 Fix CanFilterClippedLetters() failing on MacOS because font is not available 2025-04-06 12:04:24 +01:00
BobLd 5439c07ef5 Make ExplicitDestinationType a byte a fix CanCreateDocumentWithOutline() failing test 2025-04-06 12:04:24 +01:00
BobLd b8bd40e486 Create build_and_test_macos.yml 2025-04-06 12:04:24 +01:00
BobLd 4fbcc112d3 Fix bug where FormXObject bbox needs to be normalised 2025-03-30 22:01:12 +01:00
BobLd ede77c20f5 Update README.md 2025-03-30 11:39:47 +01:00
BobLd 5fb36d452f Handle SoftMask 2025-03-30 10:33:27 +01:00
BobLd 74d61bd985 Fix PatternColor Equals() method and fix #1016 2025-03-26 19:48:51 +00:00
BobLd 0754e7f003 Implement clipping in ProcessFormXObject()
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
Nightly Release / tests (push) Has been cancelled
Nightly Release / Check latest commit (push) Has been cancelled
Nightly Release / build_and_publish_nightly (push) Has been cancelled
2025-03-23 21:18:29 +00:00
BobLd 306642a234 Add SetStrokeDetails() and SetFillDetails() to PdfPath and tidy up ContentStreamProcessor 2025-03-23 20:07:43 +00:00
BobLd 204f488ebf Improve Jpeg2000Helper to support J2K codec and add test
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-03-09 14:05:05 +00:00
BobLd a4a0fe220a Bump version to 0.1.11-alpha001
Build and test / build (push) Waiting to run
Run Integration Tests / build (push) Waiting to run
2025-03-08 13:42:57 +00:00
BobLd f1f27a63e1 Update run_integration_tests.yml 2025-03-08 13:15:40 +00:00
BobLd d36e9a900f version 0.1.10 2025-03-08 13:00:43 +00:00
BobLd 1b3c7bd355 Better handle integer overflow in DocstrumBoundingBoxes
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
Nightly Release / tests (push) Has been cancelled
Nightly Release / Check latest commit (push) Has been cancelled
Nightly Release / build_and_publish_nightly (push) Has been cancelled
2025-03-02 18:29:21 +00:00
BobLd 67d8f56366 Do not throw exception when lenient parsing in GetExtendedGraphicsStateDictionary() and improve StackDictionary.TryGetValue() to not throw on empty 2025-03-02 11:51:26 +00:00
BobLd f26e7d90a3 Pass IFilterProvider to IFilter.Decode() and handle null in PdfExtensions.Resolve()
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-02-23 09:37:25 +00:00
BobLd d973e03206 Resolve image data (implementation from @kasperdaff)
Build and test / build (push) Waiting to run
Run Integration Tests / build (push) Waiting to run
2025-02-22 20:58:17 +00:00
BobLd c4a235fb62 Update Microsoft NuGet packages for UglyToad.PdfPig.Package
Build and test / build (push) Waiting to run
Run Integration Tests / build (push) Waiting to run
2025-02-22 12:55:11 +00:00
BobLd 7ceeb5bff8 Update Microsoft and SkiaSharp NuGet packages
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-02-20 20:36:20 +00:00
BobLd b9bcfa5997 Make DecodeParameterResolver class public 2025-02-20 19:53:39 +00:00
BobLd 5a06e1e1cc Assess if transformedGlyphBounds and use transformedPdfBounds as fallback and fix #987
Build and test / build (push) Waiting to run
Run Integration Tests / build (push) Waiting to run
2025-02-20 00:11:06 +00:00
BobLd 1298356f10 Fix typo in CharacterBoundingBox and small optimisation in TrueTypeFont and seal both classes 2025-02-20 00:11:06 +00:00
BobLd 1660c734e2 Add JPX bits per component decoding
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-02-08 11:08:44 +00:00
BobLd fdb8835b37 CcittFaxDecodeFilter: do not check for input length, invert bitmap with ref byte and fix #982
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-02-02 14:26:16 +00:00
BobLd 5209850af7 Update UnpackComponents() to account for 1bpc + DeviceGray (hack for Jbig2)
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-01-21 06:49:46 +00:00
BobLd b7e2245eca Refactor XObjectFactory
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-01-19 21:31:33 +00:00
BobLd 24b9a99b8a Fix warnings about "type 'K' cannot be used as type parameter 'TKey' in the generic type or method 'Dictionary<TKey, TValue>'"
Build and test / build (push) Waiting to run
Run Integration Tests / build (push) Waiting to run
2025-01-19 11:45:19 +00:00
BobLd c4576e4ffa Do not throw error on Pop when stack size is 1 in lenient mode and fix #973 2025-01-19 11:19:32 +00:00
BobLd 92d3439465 Update UglyToad.PdfPig.ConsoleRunner target framework to net8
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2025-01-14 22:00:18 +00:00
BobLd f86cc582ab Execute RemoveStridePadding in place when possible 2025-01-05 17:42:53 +00:00
BobLd 53cf4f2ced Properly handle ZapfDingbats font for TrueTypeSimpleFont and add tests 2025-01-05 17:28:32 +00:00
BobLd 4430a01e43 Properly handle ZapfDingbats font for Type1FontSimple and Type1Standard14Font and add tests 2025-01-05 16:17:59 +00:00
BobLd 585e940acf Always check for additional glyph list and add tests 2025-01-05 16:17:59 +00:00
BobLd d1779cc739 Make ColorSpaceDetails.BaseNumberOfColorComponents public to allow for external image factories 2025-01-04 09:29:28 +00:00
BobLd 2b14ae03c1 Return a copy of the ArrayPoolBufferWriter buffer in Ascii85, AsciiHex and RunLength filters and fix #964 2024-12-31 14:05:17 +01:00
BobLd 366fc4fe04 Fix out of range exception in AnnotationProvider 2024-12-31 11:54:58 +01:00
BobLd b6474dda4c Improve UnwrapIndexedColorSpaceBytes 2024-12-31 11:09:57 +01:00
BobLd 50dca593da Do not throw exception when lenient parsing in ON in CrossReferenceParser and fix #959 2024-12-28 12:29:28 +01:00
BobLd 7ec4e692a9 Fix "Nightly Release" pipeline following csproj changes 2024-12-15 10:58:38 +00:00
BobLd 97ae62ce6f Update additional glyph list to latest from PDFBox (#948) 2024-11-27 19:52:23 +00:00
BobLd 9ad51067b0 Handle odd ligatures names and fix #945 (#946) 2024-11-27 19:44:17 +00:00
BobLd 20804245d0 Handle alternate Unicode name representation cXXX and fix #943 (#944) 2024-11-24 20:24:36 +00:00
BobLd bcc8ccecbe Stop treating Warnings as Errors (#941) 2024-11-23 18:23:22 +00:00
BobLd 132ada7fac Upgrade tests project NuGet packages 2024-11-02 10:07:48 +00:00
BobLd d3bf63fdbf Move Paths, GetAnnotations() and GetOptionalContents() outside of ExperimentalAccess and mark Experimental class and reference as obsolete 2024-10-30 19:22:13 +00:00
BobLd 40af401364 Default page number to 0 in ExplicitDestination when the Dest has no page number and fix #736
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
Nightly Release / tests (push) Has been cancelled
Nightly Release / Check latest commit (push) Has been cancelled
Nightly Release / build_and_publish_nightly (push) Has been cancelled
2024-10-25 21:28:11 +01:00
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
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-19 00:29:42 +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()
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
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
Build and test / build (push) Has been cancelled
Run Integration Tests / build (push) Has been cancelled
2024-10-07 20:08:24 +01:00
BobLd f6566d6007 Fix #878
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
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
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
BobLd 5a8e6179da Add AndroidSystemFontLister 2024-05-08 19:13:36 +01:00
BobLd 2d6cb1aa0c Properly implement Quadtratic and Cubic bezier-curves and use Quadtratic in CalculatePath to fix #625 2024-04-05 11:33:59 +01:00
BobLd e789691100 Fix #807 (#808) 2024-03-23 19:25:40 +00:00
BobLd bf6c519483 Make AnnotationProvider public 2024-03-16 12:50:26 +00:00
BobLd 8163d9ff89 Update run_integration_tests.yml 2024-03-16 12:44:03 +00:00
BobLd 845e3b4a7f Handle indirect references in document information factory and fix #706 2024-03-11 21:12:56 +00:00