fumasoft 发表于 2018-5-16 15:35:49

如何用JSON数据源生成PDF文件

本帖最后由 fumasoft 于 2018-5-23 18:48 编辑

公司要求我在web API 中调用报表生成PDF文件。我做了一个测试模板,在winform程序中该模板可以生成正确的PDF,但是在web API中生成的PDF打开有问题web API代码





请大神指导一下

KearneyKang 发表于 2018-5-16 16:29:56

您好!

你的问题是你生成的报表,导出PDF后打开有问题。还是别的。我有点不是很理解。谢谢

fumasoft 发表于 2018-5-16 16:56:05

在web API中生成的报表导出PDF后打开有问题,不知道报表是否支持web API

KearneyKang 发表于 2018-5-17 09:26:37

你好!AR是完全支持在Web端导出PDF文件的。


导出PDF的代码你可以试着换这种方法试试
// Provide the page report you want to render.
System.IO.FileInfo rptPath = new System.IO.FileInfo(@"..\..\PageReport1.rdlx");
GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);

// Create an 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();

// Reduce the report size and report generation time.
pdfSetting.OptimizeStatic = 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));
            
// Overwrite output file if it already exists
outputProvider.OverwriteOutputFile = true;

pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting);


fumasoft 发表于 2018-5-17 10:44:16

我试试过,已经可以了,谢谢

KearneyKang 发表于 2018-5-17 11:25:21

不客气:)
页: [1]
查看完整版本: 如何用JSON数据源生成PDF文件