gpt4 book ai didi

image - TCPDF 图像质量问题

转载 作者:行者123 更新时间:2023-12-04 07:03:02 25 4
gpt4 key购买 nike

我正在使用 TCPDF 生成 PDF 文档,并且正在尝试将 Logo 添加到标题中,但是图像质量有问题,后来我发现,缩放也有问题。

使用 TCPDF 插入 PDF 文档的图像会出现质量损失和大小问题。我不太在乎尺寸,因为我可以改变它,但我无法恢复图像的质量。

我试过的:

  • TCPDF scaling and quality issue
  • tcpdf: poor image quality
  • 我还将 header 转换为 HTML 代码,同样质量下降。
  • 删除了 $pdf->Image() 的所有其他选项并将所有内容保留为默认值 - 图像
    尺寸增加到(大概)具有相同质量问题的原始尺寸。

  • 这是我用来插入图像的代码:
    $this->Image("../images/logo.jpg", 8, 10, 35, '', 'JPG', '', 'T', false, 0, '', false, false, 0, false, false, false);

    这是 createPDF()的开始功能:
    $pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $pdf->SetCreator('PHP TC-PDF Generator');
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    $pdf->SetMargins(8, 50, 8); // page margins
    $pdf->SetAutoPageBreak(TRUE, 30);
    $pdf->setImageScale(1);
    $pdf->setFontSubsetting(true);
    $pdf->SetFont('helvetica', '', 12, '', true);
    $pdf->AddPage();
    $pdf->setTextShadow(array('enabled'=>false));

    还有其他建议吗?

    选择:
    如果它支持 HTML 表格并且可以插入质量更好的图像,我愿意用任何其他 PDF 生成器更改 TCPDF。

    对你的帮助表示感谢。

    最佳答案

    让图片更大 ,增加定义的宽度。您似乎使用的是默认单位 mm,因此您指定的宽度为 35 mm。如果您想要更大的图像,请将该数字更改为所需的宽度。

    为了获得更高质量的图像 ,从更大的图像开始。您可能需要进行试验,但请尝试大 1.531 倍。如果你把它做得太大,那么缩放时它可能看起来很不稳定。

    我会使用PNG。 PNG 格式更适合您使用的带有文本和纯色的图像。但是如果你想使用JPG,那么尝试提高图像质量SetJPEGQuality()方法。我相信默认值为 75。

    缩放

    如果指定尺寸,则不使用图像比例值。如果您不想明确指定大小,则使用 setImageScale() 相应地设置比例因子。方法。因此,如果您使图像比所需尺寸大 1.53 倍,请将比例设置为 1.53。

    注:文档中对 setImageScale() 的描述具有误导性,IMO。它与将像素转换为用户单位没有任何关系。该转换由脚本在内部处理。

    缩放级别

    请注意,无论您做什么,图像在所有缩放级别都不会看起来很好。您可以使用 SetDisplayMode() 设置初始缩放级别方法。 TCPDF 默认为页面宽度,在大多数现代台式机和笔记本电脑上将超过 100%。

    图片大小

    传递给 Image() 的维度方法使用定义的用户单位(默认为 mm)。虽然 dpi 和 ppi 之间存在一些技术差异,但它们仅适用于打印。

    所以为了我们的目的:

    72 pixels = 72 points = 1 inch = 2.54 cm = 25.4 mm

    因此,如果您想要一个 40 毫米宽的图像,请尝试创建一个 173 像素宽的图像。
    40 mm * 72 px / 25.4 mm * 1.53 scale factor

    矢量图像

    如果图像质量真的很重要,您应该考虑使用其中一种矢量格式。查看 ImageSvg() 的 TCPDF 手册或 ImageEps()方法。

    脚注
  • 我发现在 100% 缩放时,当原始图像比所需尺寸大 1.53 倍时,质量会有显着提高。当我第一次开始摆弄 TCPDF 和图像质量时,我多次遇到数字 1.53。但是,对于这个数字的来源,从来没有任何解释。我相信我终于想通了。 Adobe Reader 默认使用 110 ppi 的分辨率,TCPDF 创建一个 72 dpi 的文档。 110 / 72 = 1.53
  • 关于image - TCPDF 图像质量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19448571/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com