Project

General

Profile

Actions

Defect #23645

closed

Gantt bars for single-day tasks may be rendered wrongly in PDF

Added by Daniel Ritz over 7 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Gantt
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Affected version:

Description

When a task starts and ends on the same day, it can happen that the bar in the PDF is rendered wrong, i.e. it's rendered from the start day to the right end of the page.

The problem is in lib/redmine/helpers/gantt.rb. When #pdf_task is called, coords[:bar_end] - coords[:bar_start] happens to be 0. The cause for this is the zoom factor applied in #coordindates and the subsequent #floor. By adding some Rails.logger statements I got this:

coords[start]: 92/1, zoom: 36/73
coords[start]: 45
coords[bar_start]: 92/1, zoom: 36/73
coords[bar_start]: 45
coords[end]: 92/1, zoom: 36/73
coords[end]: 45
coords[bar_end]: 93/1, zoom: 36/73
coords[bar_end]: 45

Each value shown before/after applying zoom. While before zoom, the values where 92/93, the became 45/45 afterwards.

The attached patch fixes the PDF rendering problem by making sure, the with used in the RDMCell() call is at least 0.


Files

gantt-single-day-task-pdf-rendering.patch (1.71 KB) gantt-single-day-task-pdf-rendering.patch Daniel Ritz, 2016-08-23 18:48
gannt_1daytask.JPG (55.3 KB) gannt_1daytask.JPG Sutamin Lynfiled, 2017-01-02 16:53
pdf-vs-png.png (47.3 KB) pdf-vs-png.png Daniel Ritz, 2017-01-04 11:42
set-huge-months.png (235 KB) set-huge-months.png Yuichi HARADA, 2020-03-19 08:25
actual-pdf.png (332 KB) actual-pdf.png Yuichi HARADA, 2020-03-19 08:25

Related issues

Has duplicate Redmine - Defect #32916: Bar length is wrong when exporting gantt chart to PDFClosed

Actions
Actions

Also available in: Atom PDF