Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

PDF reports - long lines overflow into adjacent cell, or truncated [patch] #2392

Closed
anonymous-piwik-user opened this Issue · 8 comments

3 participants

@anonymous-piwik-user

Small display error in PDF reports. If text is too long for one cell it will sometimes (if cell has no background colour?) flow in adjacent cell and make content unreadable. Happened for Visitor overview and Returning Visitors report. See attached screenshots.

Also mentioned in http://forum.piwik.org/read.php?5,76084

@robocoder

I think this is the flip side of #1601.

@mattab
Owner

I don't think it's easy to do, or maybe I just don't know about it... ? Decreasing priority but of course if a patch is submitted it would be great :)

@mattab
Owner

Maybe worth trying to replace Cell() by MultiCell() in the generation code (see http://stackoverflow.com/questions/2938953/word-wrap-in-tcpdf )

@anonymous-piwik-user

Setting a a white background on the even rows, like the green on the uneven, will do the trick. This will hide the overflowing text.
But it might be a better idea to make the cells wider, there's plenty of room left.

@anonymous-piwik-user

Quick and dirty fix is the following configuration:

/core/ReportRenderer/Pdf.php

//line 29
    private $bottomMargin = 15;
    private $reportWidthPortrait = 195;
    private $reportWidthLandscape = 270;
    private $minWidthLabelCell = 100;
    private $maxColumnCountPortraitOrientation = 6;
    private $truncateAfter = 55;

Line 326 // Computes available column width

        // Computes available column width
        $this->totalWidth = $totalWidth;
//      $this->labelCellWidth = max(round(($this->totalWidth / $columnsCount) * 2), $this->minWidthLabelCell);
//      Changed by Jens Verneuer
        $this->labelCellWidth = max(round(($this->totalWidth / $columnsCount) ), $this->minWidthLabelCell);
        if ($columnsCount == 2) {
//      Changed by Jens Verneuer            
//      $this->labelCellWidth = $this->totalWidth / 2;
        }
        $this->cellWidth = round(($this->totalWidth - $this->labelCellWidth) / ($columnsCount - 1));
        $this->totalWidth = $this->labelCellWidth + ($columnsCount - 1) * $this->cellWidth;

Additionaly I decreased the Font Size a bit, because some of our Website Names are to long for the first Paper of the Report
Line 27/28:

    private $reportSimpleFontSize = 9;
    private $reportHeaderFontSize = 16;

works fine 4 us

@mattab
Owner

(In [5234]) Thanks mattenschwinger Fixes #2392

@anonymous-piwik-user anonymous-piwik-user added this to the 1.6 Piwik 1.6 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.