Defect #28565

PDF export has too many whitespaces

Added by Tyler Nguyen 6 months ago. Updated 11 days ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Go MAEDA% Done:

0%

Category:PDF export
Target version:3.3.9
Resolution:Fixed Affected version:3.1.7

Description

When exported in pdf format, there are too many whitespace under each note (attached).
As far as I can see, white space is automatically generated equal to the line number of the note.
I tested on Redmine 3.4.4.stable.17198 and Redmine 3.1.7.stable.17140, this issue persists.
Hope this issue is fixed soon.
Thank you !

PDF-export has-too-many-whitespace.pdf - PDF export has too many whitespace (96.9 KB) Tyler Nguyen, 2018-04-17 10:39

fix_height_of_line_break_in_issue_pdf.diff Magnifier (479 Bytes) Bernhard Rohloff, 2018-08-02 07:32

ecookbook-2.pdf - Result of the patch. (97.2 KB) Bernhard Rohloff, 2018-08-02 07:33

fix_height_of_line_break_in_issue_pdf_v2.diff Magnifier - Second version, fixing more whitespace issues. (1.1 KB) Bernhard Rohloff, 2018-08-02 10:35

pdf_formatting_before_and_after.png (64 KB) Bernhard Rohloff, 2018-08-07 06:34

rbpdf_cell.png (346 KB) Jun NAITOH, 2018-08-22 15:57

rbpdf_multi_cell.png (464 KB) Jun NAITOH, 2018-08-22 15:57

rbpdf_1_19_5__1_19_6.png (41 KB) Jun NAITOH, 2018-10-06 01:41

test-6_rbpdf_1_19_5.pdf - issue sample rbpdf 1.19.5 result (130 KB) Jun NAITOH, 2018-10-06 01:41

test-6_rbpdf_1_19_6.pdf - issue sample rbpdf 1.19.6 result (129 KB) Jun NAITOH, 2018-10-06 01:41

Wiki_rbpdf_1_19_5.pdf - wiki sample rbpdf 1.19.5 result (174 KB) Jun NAITOH, 2018-10-06 01:42

Wiki_rbpdf_1_19_6.pdf - wiki sample rbpdf 1.19.6 result (173 KB) Jun NAITOH, 2018-10-06 01:42

Associated revisions

Revision 17574
Added by Go MAEDA 11 days ago

PDF export has too many whitespaces (#28565).

Contributed by Jun NAITOH.

Revision 17575
Added by Go MAEDA 11 days ago

Merged r17574 from trunk to 3.4-stable (#28565).

Revision 17576
Added by Go MAEDA 11 days ago

Merged r17574 from trunk to 3.3-stable (#28565).

History

#1 Updated by Guillermo ML 6 months ago

I can confirm this behaviour on 3.3.1.stable, 3.4.3.stable and 3.4.4.stable
The number of blank lines after each note seems to be identical to the number of lines of text in the note.

#2 Updated by Go MAEDA 6 months ago

  • Status changed from New to Confirmed
  • Target version set to Candidate for next minor release

Reproducible in the current trunk (r17315).

#3 Updated by Tyler Nguyen 3 months ago

I'm not a professional programmer. Hope someone can help me solve this problem, it is also quite important.

#4 Updated by Bernhard Rohloff 3 months ago

The behavior is caused by source:trunk/lib/redmine/export/pdf/issues_pdf_helper.rb#L234
After each comment block the method pdf.ln gets called without an argument. In this case the space height is equal to the last block.
https://www.rubydoc.info/gems/rbpdf/1.18.3/RBPDF:Ln

I've attached a patch to set the height to what I think is an appropriate value.

#5 Updated by Bernhard Rohloff 3 months ago

I've found the same behavior for associated revisions and comments after journal entries.
Attached is a second patch to fix also these whitespace issues.
The spacings meet my esthetical reqiurements but feedback on this is hearty welcomed. :-)

#6 Updated by Bernhard Rohloff 2 months ago

This is the result of my patch but it's quite difficult to show how it looks in a document...

#7 Updated by Marius BALTEANU 2 months ago

LGTM

#8 Updated by Jun NAITOH about 1 month ago

I think this is a problem of rbpdf.
Please wait for a while because we are working on correcting it.

#9 Updated by Bernhard Rohloff about 1 month ago

Jun NAITOH wrote:

I think this is a problem of rbpdf.
Please wait for a while because we are working on correcting it.

Do you think this is a bug or do you want to change the default behavior of the pdf.ln method?
Because as I wrote in #28565-6 that's the exact default behavior described in the rbpdf documentation.

... By default, the value equals the height of the last printed cell.

#10 Updated by Jun NAITOH about 1 month ago

Bernhard Rohloff wrote:

Jun NAITOH wrote:

I think this is a problem of rbpdf.
Please wait for a while because we are working on correcting it.

Do you think this is a bug or do you want to change the default behavior of the pdf.ln method?

Yes, I think it is a bug in rbpdf.

Because as I wrote in #28565-6 that's the exact default behavior described in the rbpdf documentation.

... By default, the value equals the height of the last printed cell.

By default, the value is intended to be the height of the last printed cell.
However, the current implementation has become the height of the last printed by MultiCell.

This means the height of multiple rows(MultiCell), but the expected specification is the height of one rows (Cell = charactor's hight).

#11 Updated by Jun NAITOH 11 days ago

I'm sorry it takes time to fix it.
This problem fixed by rbpdf 1.19.6.
please bundle update.

The fixed issues is as follows.

https://github.com/naitoh/rbpdf/issues/47

#12 Updated by Go MAEDA 11 days ago

  • Status changed from Confirmed to Resolved
  • Assignee set to Go MAEDA

#13 Updated by Go MAEDA 11 days ago

  • Subject changed from PDF export has too many whitespace to PDF export has too many whitespaces
  • Status changed from Resolved to Closed
  • Target version changed from Candidate for next minor release to 3.3.9
  • Resolution set to Fixed

Updated the Gemfile in the repository. Thank you for working hard on fixing this issue.

Also available in: Atom PDF