Fix: Ensure consistent line rendering for cell borders#1093
Closed
simonbengtsson wants to merge 1 commit intomainfrom
Closed
Fix: Ensure consistent line rendering for cell borders#1093simonbengtsson wants to merge 1 commit intomainfrom
simonbengtsson wants to merge 1 commit intomainfrom
Conversation
The issue reported that footer line widths were not appearing the same as header line widths, even when configured with the same numerical lineWidth value (e.g., 2) and color. This was likely due to the jsPDF draw color state not being explicitly re-applied immediately before drawing each border segment within the `drawCellBorders` function. While `lineWidth` was set, the `lineColor` relied on an earlier `applyStyles` call, which could lead to inconsistencies if the state changed. This commit modifies the `drawLine` helper function within `drawCellBorders` in `src/tableDrawer.ts` to: 1. Accept `cell.styles.lineColor` as a parameter. 2. Explicitly call `jsPDFDoc.setDrawColor()` with this color immediately before `jsPDFDoc.setLineWidth()` and the `jsPDFDoc.line()` command. This ensures that both line width and line color are correctly set in the jsPDF graphics state for each border segment (top, bottom, left, right) for all cells, improving rendering consistency across table sections (head, body, foot).
|
Will this commit be merged to master? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The issue reported that footer line widths were not appearing the same as header line widths, even when configured with the same numerical lineWidth value (e.g., 2) and color.
This was likely due to the jsPDF draw color state not being explicitly re-applied immediately before drawing each border segment within the
drawCellBordersfunction. WhilelineWidthwas set, thelineColorrelied on an earlierapplyStylescall, which could lead to inconsistencies if the state changed.This commit modifies the
drawLinehelper function withindrawCellBordersinsrc/tableDrawer.tsto:cell.styles.lineColoras a parameter.jsPDFDoc.setDrawColor()with this color immediately beforejsPDFDoc.setLineWidth()and thejsPDFDoc.line()command.This ensures that both line width and line color are correctly set in the jsPDF graphics state for each border segment (top, bottom, left, right) for all cells, improving rendering consistency across table sections (head, body, foot).