【问题标题】:Poor quality image inserting SVG into PDF将 SVG 插入 PDF 的质量差的图像
【发布时间】:2016-09-12 22:48:40
【问题描述】:

我正在尝试生成包含一些文本、徽标和条形码的 PDF。一切都很好,除了标志的质量。

为了提供一个例子,我使用这个SVG

使用svg.Net生成标志如下:

SvgDocument svgDoc = SvgDocument.Open<SvgDocument>(@"C:\temp\SVG\dojo.svg");
svgDoc.Width = 130;
svgDoc.Height = 30;
var bmp = svgDoc.Draw();

然后将其绘制到PrintDocument 上,如下所示:

Graphics.DrawImageUnscaled(bmp, logoLeft, logoTop);

在最终被发送到 PDF 打印机驱动程序之前。最终结果是一个 100% 缩放的模糊徽标

放大PDF,logo分辨率真的很低

如何提高最终输出的质量?

【问题讨论】:

  • 你这个svgDoc.Width = 130;做什么?将宽度设置为什么?像素?没有设置分辨率的其他单位?显然,您需要在更大的位图上绘制,然后在将其绘制到打印文档之前设置它的 dpi..!
  • 还有:你是怎么设置打印分辨率的?

标签: c# svg


【解决方案1】:

我跳过了创建一个我无法很好显示的中间 PNG 的过程来完成这项工作。

使用svg.net 的不同方法并直接写入图形对象。

步骤

Graphics.DrawImageUnscaled(bmp, logoLeft, logoTop);

已被替换为

svgDoc.X = logoLeft;
svgDoc.Y = logoTop;
svgDoc.Draw(Graphics);

【讨论】:

  • 很好,虽然我肯定会推荐学习如何正确使用图像和打印机分辨率..
猜你喜欢
  • 1970-01-01
  • 2012-09-20
  • 2016-12-29
  • 2016-05-25
  • 1970-01-01
  • 2011-02-01
  • 2023-03-11
  • 1970-01-01
  • 2020-10-08
相关资源
最近更新 更多