Skip to content

Fix/broken pdf - #2500

Closed
AdrianEPPlus wants to merge 1104 commits into
develop8from
fix/broken-pdf
Closed

Fix/broken pdf#2500
AdrianEPPlus wants to merge 1104 commits into
develop8from
fix/broken-pdf

Conversation

@AdrianEPPlus

Copy link
Copy Markdown
Contributor

Before submitting this pull request I have...

  • read EPPlus Softwares Contribution Guidlines
  • ensured that the functionality I have added/changed is covered by new unit tests.
  • merged the target branch into the PR branch and resolved any merge conflicts
  • Run all the unit tests and ensured that they all are green (unless the purpose of the PR is to provide us with failing unit tests).

swmal and others added 30 commits June 24, 2026 15:45
* Added headings back

* fixed some issues with headings.

* Perf fixes

* print titles progress

* Fix PDF rich text rendering; remove source workbook mutation in export

* print titles progress

* fixed errors

* fixed wiriting negative pdf object references in font resource on page.

* changed type

* Fixed duplication bug

* Changed test name

* Reverted tint change for pdf

* Fixed font dictionary setting wrong font name.

* Added logging for trouble shooting

* fixed more stuff with font dictionary adding wrong font name

* print titles progress

* Fixed performance issue with heading rendering

* print titles progress

* fixed errors from merge

* Unittest for pdf added

* Added more unittests with improvment areas

* print titles fixes progress

* One more commit

* progress

* fixed more issues with print titles

* Made row headings less wide, changed to use DimensionByValue

* fixed a few issues.

* Fixed border rendering inside merged cells.

* Implemented conditional formatting for fills.

* Added conditional formatting for text and borders.

* Changed unittest

* Made some changes to conditional formatting so formats get applied to empty cells like excel does.

* Fixed patternfills and DimensionByVisibility

* Moving and restructing pdf code progress.

* Moving pdf code progress.

* Moving files progress

* Fixed more errors

* All errors has been slain.

* Removed some unused code.

* test

* Updated todo.

---------

Co-authored-by: swmal <897655+swmal@users.noreply.github.com>
Co-authored-by: Ossian Edström <ossian.edstrom@epplussoftware.com>
# Conflicts:
#	src/EPPlus/Drawing/Chart/ExcelChartAxisStandard.cs
#	src/EPPlus/Drawing/ExcelDrawing.cs
#	src/EPPlus/EPPlus.csproj
#	src/EPPlus/ExcelWorksheet.cs
#	src/EPPlusTest/Drawing/DrawingTest.cs
#	src/EPPlusTest/Export/HtmlExport/RangeExporterTests.cs
* Feature/pivotbyv2 (#2365)

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* Fixed failing test

* New pivotby branch

* Added some failing unit tests

* WIP

* WIP

* WIP

* WIP

---------

Co-authored-by: swmal <897655+swmal@users.noreply.github.com>

* #2311 - Implemented new Excel functions (#2364)

* #2311 - Implemented WRAPROWS and WRAPCOLS

* #2311 - Implemented USDOLLAR

* #2311 - Implemented CODE and ENCODEURL functions

* #2311 - Added Array support for DOLLAR, USDOLLAR, CODEAND ENCODEUR

* #2311 - Added EPPlus version to FunctionMetadata

* EPPlus version 8.6.0

* Fix: ExcelWorksheets.Delete throws NotSupportedException on ExcelChartsheet (#2367)

The Delete method was attempting to access the PivotTables collection on all worksheet types. However, ExcelChartsheet throws NotSupportedException when accessing PivotTables. Added a type guard to skip PivotTable cleanup for chart sheets.

Co-authored-by: Lieven De Foor <lieven.de.foor@tvh.com>

* Fixes issue #2372

* Updated test

* Fixed test that affected static values of the Chart Style Manager, causing a later test to fail

* Fix case-sensitivity enum parsing bug in ExcelChartAxisStandard MajorTickMark and MinorTickMark (#2370)

Co-authored-by: Lieven De Foor <lieven.de.foor@tvh.com>

* Fixed some trendline issues

* Fixes issue #2376

* Removed, renamed and fixed a few issues

* Added new ActualPosition property for axis

* Re-implemented pie-chart and explosion

* Fixed trendline formulas to add superscript to textboxs

* Added debug properties to pie slices

* Deactivated debug props + cleanup

* Simplified constructor

* Fixed most trendline sub/superscript issues + rect

* Added margins to rect

* Half fix for duplication

* Fixed datalabel positions. Messily.

* Fixed datalabels more. Started fixing centering trendline

* Fixed DrawingTextBox duplicate properties

* Fixed Most of trendline centering

* Added spacing in trendline strings

* Fixed stacking axis

* Tweaked tests. Added recalculation to textbody

* Fixed positioning of stacked axis

* WIP:Axis positioning and sizeing

* Fixed line-ending issue

* Verified vertical alignment also functional

* Changed TextBox. GroupItem realtime. + margin grp

* Added tests for new textbox

* Fixed alignment bug and in ChartTitle.DisplayedText

* Partial trendline fix

* Partial fix for trendline autosize alignment issue

* Functional Trendlines fix

* #2383 - Fixed issue where VLOOKUP and HLOOKUP sometimes returned wrong value on unsorted data. (#2384)

* #2383 - Fixed issue where VLOOKUP and HLOOKUP sometimes returned wrong value on unsorted data

* #2483 - Fix approximate VLOOKUP/HLOOKUP to match Excel

* Fixed center-alignment for shapes

* Fixed sIcon location on datalabel

* Fixes axis position

* Fixed width of textbox

* Added fix for html images

* Feature/regexfunctions (#2373)

* WIP

* WIP

* WIP

* WIP

* WIP

* Fix REGEXEXTRACT/REGEXREPLACE scalar bugs: invalid return_mode validation, no-match now returns #N/A, empty pattern inserts replacement. Split regex tests into one file per function, verified against Excel desktop.

* Refactored unit tests

---------

Co-authored-by: swmal <897655+swmal@users.noreply.github.com>
Co-authored-by: swmal <{ID}+username}@users.noreply.github.com>

* Fixed multiple paragraph test

* Temporary fix for exact font

* Bugi2381 - ConditionalFormatting DxfStyleId miss-match  (#2386)

* Potential solution/verification ids off by 1

* Implemented better solution that does not break tests

* Cleanup

* Additional cleanup

* WIP:Added first test for errorbars

* Fixed infinite loop in GetTolColumnFromPixels.  (#2382)

* Fixed infinite loop in GetTolColumnFromPixels. Also fixed a crash when saving workbook with groupshape as a shape in a chart.

* Fixed positioning of shapes in charts

* get top and left no longer returns 0.

* fixed From To calculation for chart drawings.

* fixed absolute positioning

---------

Co-authored-by: Jan Källman <jan.kallman@epplussoftware.com>

* Fixed issue where rotated text would partially hide border (#2380)

* Fixed issue where rotated text would partially hide border

* Fixed several bugs in the HTML export. Row height was not set using invariant culture. Pattern fill was incorrect when the color was blank. Border style was not correct for Right and Bottom borders on merged cells

* Solved rotated column headers + savefile location

---------

Co-authored-by: Jan Källman <jan.kallman@epplussoftware.com>
Co-authored-by: Ossian Edström <ossian.edstrom@epplussoftware.com>

* Fixed some issues on chart axis and legends.

* Partial fix for datalabels

* EPPlus version 8.6.1

* Fixed background for datalabels

* Removed some warnings, mostly due to usage of ExpectedException in UnitTests

* Replaced DataTestMethod->TestMethod in unit tests

* Fixed small error in positioning of shapes in charts

* Transferred piechart legend special case

* Fixed label position on horizontal axis

* Fixes axis label alignment and label positioning

* Fixed centering of piechart legend

* Start of datalabels for barcharts

* Fixed out-end for bar-charts

* Functional datalabels

* Columnn and bar charts correct

* fixed stacked column pos datalabels

* Start of better datalabel system+debug

* Started Work on error bars

* New position functional for center and in-base

* Made labels work for inEnd and inBase again

* Added outEnd

* Simplified initilization in barChart

* Made new system functional for bars AND columns

* Fix KeyNotFoundException/ArgumentException on renaming or removing standard/grouped drawings (#2379)

Co-authored-by: Lieven De Foor <lieven.de.foor@tvh.com>

* Fix IndexOutOfRangeException in LoadFromText with trailing columns (#2388)

Co-authored-by: Lieven De Foor <lieven.de.foor@tvh.com>

* Fix url of license information in Readme.md (#2389)

* Ensured mix of series and custom datalabels get read

* Fix: drawing hyperlink reassignment crashes and inert tooltip setting (#2378)

Co-authored-by: Lieven De Foor <lieven.de.foor@tvh.com>

* Added support for negative columns + margin

* Ensured works for bar charts as well

* Added simpler but somewhat unclear method

* Attempting to use functionality in pie item

* Fixed several pie chart datalabel bugs

* Fixed bugs and cleaned up datalabels

* Cleanup and added all pie datalabels to same file

* Start of adding svg to html export

* Render of Errorbars for line charts

* Added html tests

* Fixed Errorbars issue

* Added category test

* Fixed gapwidth for barcharts

* Strong named EPPlus.DrawingRenderer and added tests for .NET 4.6.2.

* Added stylemanager styling

* Fixed ellipse items having rect type

* Fixed trendline label positioning

* Fixed trendline label positioning.

* Fixed databar bug + styling border issue

* Fixed null color for shapes and charts

* Fixed blip fills

* Start of fix for title element

* Fixed title bug in epplus

* Fixes errorbars for bar charts

* Fixed one test-failure

* Fixed Line Markers

* Fixed failing tests for Archivo Narrow

* Fixed corrupting issues with previous fix

* Turned off debug points for dlbl

* Fixed axis and trendlines issues

* Differing shape and chart fill

* Attempt att resolving style hierarchy correctly

* Added new option class to the ToSvg method

* Adding additional tests

* Fix for autofit columns with autofilters (#2390)

* Added base-functional chart export

* Allow AppVersion in OfficeProperties to be set to null. #2393. (#2394)

* Fixed absolute positioning for charts

* Start of relative position + multiple charts/shapes

* Documented change to DrawingFillBasic

---------

Co-authored-by: karlkallman <137038948+karlkallman@users.noreply.github.com>
Co-authored-by: swmal <897655+swmal@users.noreply.github.com>
Co-authored-by: Lieven De Foor <8639525+lievendf@users.noreply.github.com>
Co-authored-by: Lieven De Foor <lieven.de.foor@tvh.com>
Co-authored-by: OssianEPPlus <122265629+OssianEPPlus@users.noreply.github.com>
Co-authored-by: Ossian Edström <ossian.edstrom@epplussoftware.com>
Co-authored-by: swmal <{ID}+username}@users.noreply.github.com>
Co-authored-by: AdrianEPPlus <162118292+AdrianEPPlus@users.noreply.github.com>
JanKallman and others added 26 commits September 2, 2026 13:36
…efactor

Feature/drawing renderer refactor
* Read jpeg drawings for pdf export.

* #2477 - Fonts: Configurable font embedding policy (fsType / OnFontEmbedding)

* Skip embedding decision now falls back to font chain (#2473)

* Layoutint image.

* render to pdf.

* jpegs can now overlap several pages

* WIP

* fixed width issue

* support for absolute anchor

* Move font subsetting to document-wide DocumentFontSubsetBuilder

* unhardcoded jpg

* Fixed some merge conflicts

* WIP

* Added png. working on supporting png with alpha

* transparent png in pdf progress

* Fix font nameID pairing so Arial Black resolves correctly (#2476)

* png progress

* WIP

* Keep bundled fallback fonts embeddable when OnFontEmbedding skips

* WIP

* Added functionality for centered content horiziontally and vertically in PDF

* Fix for bug #2485

* Fixed header footer issue & performance for table style.

* Added simple support for distibuter, justify and centered continious text alignment.

* if row height has not bee explicilty set, we do autofit on that row with font size in mind.

* fixed comments and notes not having header and footer.

* Added test

* Changed radial gradients to box gradients.

* double border fix progress

* double border progress

* progress

* WIP

* WIP

* Fix #2845: infinite loop and off-page content for oversized columns

* double borders done for now.

* fixed missing fill, content and borders in merged cells.

* image in header footer progress.

* fixed issue where every other row of table did not get a fill

* fixed image in header footer positioning.

---------

Co-authored-by: swmal <897655+swmal@users.noreply.github.com>
Co-authored-by: KarlKallman <karl.kallman@epplussoftware.com>
Co-authored-by: swmal <{ID}+username}@users.noreply.github.com>
Serialized font metrics for SVG measurement, with font engine cleanup
* Fixes verification exception in .NET framework

* Added 481 to pdfTest and fixed exception.

---------

Co-authored-by: AdrianParnéus <adrian.parneus@epplussoftware.com>
@swmal
swmal deleted the fix/broken-pdf branch September 7, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants