CMS并生成pdf中的高分辨率图像

时间:2014-06-15 07:55:14

标签: pdf content-management-system pdf-generation wkhtmltopdf tiki-wiki

我正在寻找用于发布软件手册的良好CMS。

要求:

  • 使用缩略图将手册页发布为网页,并在点击图片后显示完整分辨率
  • 将手册页导出为pdf文件,使用全分辨率图像而非缩略图

我找到了名为 Tiki Wiki https://info.tiki.org/)的恕我直销最佳维基系统,但当我导出为pdf时,我获得了低分辨率缩略图。

1 个答案:

答案 0 :(得分:1)

我通过非常简单的 Tiki Wiki 代码修改解决了这个问题:

修改 lib / wiki-plugins / wikiplugin_img.php 以强制使用完整图像分辨率代替缩略图以打印页面模式(插入代码1)并将生成的HTML中的图像重新缩放0.5倍(插入代码) 2):

[...]

function wikiplugin_img( $data, $params )
{
    [...]

    $imgdata = array_merge($imgdata, $params);

    // inserted code 1 (~410 line)
    if ($GLOBALS['section_class']=="tiki_wiki_page print"){
        $imgdata['thumb'] = '';
    }
    // end of inserted code 1

    //function calls
    if ( !empty($imgdata['default']) || !empty($imgdata['mandatory'])) {

    [...]

    $fwidth = '';
    $fheight = '';
    if (isset(TikiLib::lib('parser')->option['indexing']) && TikiLib::lib('parser')->option['indexing']) {
        $fwidth = 1;
        $fheight = 1;
    } else {

        // inserted code 2 (~410 line)
        if ($GLOBALS['section_class']=="tiki_wiki_page print"){
            $fwidth = $imageObj->get_width() / 2;
            $fheight = $imageObj->get_height() / 2;
        } else {
            $fwidth = $imageObj->get_width();
            $fheight = $imageObj->get_height();
        }
        // end of inserted code 2 (~638 line)

     }

[...]

现在,在通过 wkhtmltopdf 打印到pdf之后,我们获得了包含小而全分辨率图像的pdf。

其他修改:

  • 将以下行添加到 cms / cssmenus.css (或打印模式中包含的其他css)以增加图像标题的下边距:

    div.thumbcaption {
        margin-bottom: 5mm;
    }
    
  • templates / tiki-show_content.tpl 中移除171到~175行,删除“原始文档位于”脚下。