将报表导出为PDF时,如何保存原始图像质量

报表的PDF导出中出现了一个有趣的选项 - “原始分辨率”。该选项允许你以原始分辨率保存图像。有时候以原始质量传输图像很重要。使用这个新选项,你就可以从PDF文档中获取图像,而不会损失质量。

但是,该选项也存在局限性 - 你不能在报表中旋转图像,因为它需要更改图像。

不过在FastReport中,有针对的已经旋转图像的情况的特殊保护措施。PDF导出将获得原始图片。因此,如果你在PDF报表中发现未旋转到所需角度的图像 - 请检查导出选项,确保 “原始分辨率”选项已启用。

如果有必要,你也可以缩放图像。

我们来看一个例子。首先,创建一个简单的报表。将图片对象添加到报表页面。双击添加的对象“图片”,接着会出现图像编辑器:

将报表导出为PDF时,如何保存原始图像质量

使用“加载”按钮并选择本地磁盘上的图像。点击确定。我们随意按比例缩放对象:

将报表导出为PDF时,如何保存原始图像质量

以预览模式运行报表。选择“保存” - >“PDF格式”。

在PDF的导出设置窗口中,选择“Options”选项卡:

将报表导出为PDF时,如何保存原始图像质量

单击确定并保存导出文件:

将报表导出为PDF时,如何保存原始图像质量

现在改变报表模板。将图像对象的角度属性设置为90度。

将报表导出为PDF时,如何保存原始图像质量

再一次,我们将在“原始分辨率”选项启用的情况下导出为PDF:

将报表导出为PDF时,如何保存原始图像质量

如你所见,图像没有旋转90度。

我们再次导出为PDF,但这次我们将禁用“原始分辨率”选项:

将报表导出为PDF时,如何保存原始图像质量

现在图像旋转了90度。但是“原始”图像都经历了什么呢?

质量损失。从文件的大小可以看出:

将报表导出为PDF时,如何保存原始图像质量

在上次导出时,我们禁用了“原始分辨率”选项,文件大小为93 KB,而不是14 703 KB。如果你在编辑器中打开PDF文件,可以拉伸图像。在前两次导出中,高分辨率的图像将保持原质量:

将报表导出为PDF时,如何保存原始图像质量

而在第三次导出里,你会看到糟糕的像素化:

将报表导出为PDF时,如何保存原始图像质量

总结一下,我们可以传输保留原始图像质量的文档,在工作流中你会发现,很多时候这项功能都会显得很实用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 PdfSharp 库将 Grid++Report 生成的报表导出PDF,你需要按照以下步骤进行操作: 1. 首先,确保你已经正确地引用了 PdfSharp 库。你可以从 NuGet 上下载并添加 PdfSharp 到你的项目中。 2. 创建一个 Grid++ReportReport 对象,并加载报表模板文件: ```csharp using Gridpp; using PdfSharp.Drawing; using PdfSharp.Pdf; using PdfSharp.Pdf.IO; class Program { static void Main(string[] args) { // 创建报表对象 Report report = new Report(); // 加载报表模板文件 report.Load("template.grf"); // 设置报表数据源(这里假设你已经准备好了数据) report.FetchRecord += Report_FetchRecord; // 生成报表 report.PrintPreview(); // 导出PDF ExportToPdf(report, "output.pdf"); } private static void Report_FetchRecord(object sender, FetchRecordEventArgs e) { // 设置数据源内容(省略) } private static void ExportToPdf(Report report, string outputPath) { // 创建 PDF 文档 PdfDocument document = new PdfDocument(); // 遍历报表的每一页 for (int i = 0; i < report.PageCount; i++) { // 创建 PDF 页面 PdfPage page = document.AddPage(); // 获取当前页的绘图上下文 XGraphics gfx = XGraphics.FromPdfPage(page); // 创建一个 PDF 渲染器 GridppToPdfRenderer renderer = new GridppToPdfRenderer(report, i + 1); // 渲染报表页面到 PDF 页面 renderer.Render(gfx); } // 保存 PDF 文件 document.Save(outputPath); } } ``` 在上面的代码中,我们使用了 PdfSharp 库创建了一个 PdfDocument 对象,并通过 GridppToPdfRenderer 类的 Render 方法将 Grid++Report报表页面渲染到 PDF 页面上。最后,我们使用 Save 方法将 PDF 文档保存到指定的路径。 请确保你已经正确地安装并引用了 PdfSharp 库,并根据你的实际需求进行相应的配置和调整。 希望这个示例能帮助到你,如果你有其他问题,请随提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值