找回密码
 立即注册

QQ登录

只需一步,快速开始

Bella.YuanWyn认证
超级版主   /  发表于:2022-6-6 09:17:17
11#
wengMQ 发表于 2022-6-3 10:21
有疑问可以加我QQ546962925

感谢老铁帮忙回复~
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2022-6-6 09:25:20
12#
Bella.Yuan 发表于 2022-6-6 09:17
感谢老铁帮忙回复~

大佬告诉的方法,已经尝试过了。有问题,好像不行,属性不生效
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-6-6 14:35:50
13#
村东智叟 发表于 2022-6-3 08:54
您好,
感谢回复。
我没有表述清楚。是这样的,现在的功能是根据rdlx模板生成。PDF文件,然后在打印PDF ...

您好,按您的描述是先生成pdf文件,在打印pdf文件,如果您是生成pdf后在进行打印,那就需要在打印机上面去设置对应的纸张而不是在代码上进行设置。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2022-6-6 14:51:29
14#
Bella.Yuan 发表于 2022-6-6 14:35
您好,按您的描述是先生成pdf文件,在打印pdf文件,如果您是生成pdf后在进行打印,那就需要在打印机上面 ...

你好,是的。
市先生成PDF,再进行打印的。
现在的需求是,生成的PDF就是对应的规格的PDF。
也就是,rdlx的模板是A4的尺寸,生成的PDF,可以生成A4,可也以生成A5的尺寸的PDF(通过代码控制)
之前的大佬说使用fittosize属性可以实现,自己测试之后,是不能实现的。
fittosie的属性是根据用纸的尺寸,来进行pdf的修改,实际测试的是,被修改的是PDF的内容的大小,PDF的大小并没有变化,且比例也丢失了,且不知道是基于哪个尺寸进行修改的。用纸尺寸在A3,A4,A5,A6的情况下,生成的PDF是一样的

回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-6-6 18:12:39
15#
村东智叟 发表于 2022-6-6 14:51
你好,是的。
市先生成PDF,再进行打印的。
现在的需求是,生成的PDF就是对应的规格的PDF。

您好,这个可能不行,导出PDF的内容的纸张大小是跟报表模板里面的纸张大小是一致的,除非你每次导出PDF时,都去修改一下模板对应的纸张大小,才能实现导出不同纸张大小的PDF
回复 使用道具 举报
wengMQ悬赏达人认证
银牌会员   /  发表于:2022-6-6 22:10:42
16#
我这边可以

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2022-6-7 08:22:11
17#

 怎么实现的?
也是用的fittosize这个属性吗?
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2022-6-7 09:17:31
18#

这是PDF的生成代码,和我追加的代码(但是这样,测试实际是不行的)

// Provide the page report you want to render.
GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new
System.IO.FileInfo(@"C:\Sample_PageReport.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument reportDocument = new
GrapeCity.ActiveReports.Document.PageDocument(report);
// Create a output directory
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyPDF");
outputDirectory.Create();
// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new
GrapeCity.ActiveReports.Export.Pdf.Page.Settings();
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = pdfSetting;


//这是我追加的代码
//设置用纸尺寸为A5
reportDocument.Printer.PaperKind = PaperKind.A5;
//适应用纸尺寸
pdfSetting.SizeToFiT = true;


//Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension =
new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory,
System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
reportDocument.Render(pdfRenderingExtension, outputProvider, pdfSetting);


回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-6-7 09:44:06
19#
村东智叟 发表于 2022-6-7 08:22
 怎么实现的?
也是用的fittosize这个属性吗?

您好,上面老铁使用的是版本是AR15,您的版本是AR12,15版本在打印时可以修改pdf的纸张大小,您可以升级到15版本测试看看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2022-6-7 10:00:59
20#
Bella.Yuan 发表于 2022-6-7 09:44
您好,上面老铁使用的是版本是AR15,您的版本是AR12,15版本在打印时可以修改pdf的纸张大小,您可以升级 ...

这个感觉不对吧,
这个改的是打印机。我是想输出PDF的尺寸更改。我感觉和打印机的设置没有关系吧。
并且这个地方更改了打印的设置后,不会影响后面的打印设置吗?
比如我想打印A4的纸,在这里更改了话。后面不是这个程序的打印,而是其他的程序想打印A5的纸,打印不会有影响吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部