Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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 Anthon Pang Matthieu Aubry
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

Anthon Pang
Collaborator

I think this is the flip side of #1601.

Matthieu Aubry
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 :)

Matthieu Aubry
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

Matthieu Aubry
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.