惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
F
Fortinet All Blogs
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
Jina AI
Jina AI
J
Java Code Geeks
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
美团技术团队
博客园 - 司徒正美
宝玉的分享
宝玉的分享
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 飘扬De黑夜

SqlServer 批量修改某个字段类型 U8数据库表汇总 elementui关于表单校验validator Vue.js 2 使用 extends 扩展 element-ui 组件 FastReport-Barcode/QRCode 控件总是存在白色空白区域 双网卡同时访问内外网 vs项目启动后总是提示ID为XXX的进程当前未运行 Vue2全局管理格式化器和Filter uniapp 以npm模式安装插件的项目,如何让自定义组件支持easycom方式自动导入 Http请求中 Content-Type 常用格式说明 WPF入门基础之双向数据绑定 WPF入门之设置样式 ElementUI-如何给 el-dropdown 的 command 事件传递多个参数 TortoiseGit使用 管理系统中台示例参照 淘宝源安装npm visual studio 2022 自定义组件和自定义控件和用户控件的区别 SqlServer GoupBy 分组后对于非分组的某个字符串进行拼接 SQL Server 实现类似CountIF的函数
FastReport 使用JSON作为数据源,手工赋值和导出PDF
飘扬De黑夜 · 2025-06-12 · via 博客园 - 飘扬De黑夜

需要用到的Nuget包

FastReport.OpenSource

FastReport.Compat

FastReport.OpenSource.Export.PdfSimple

目前使用的版本:2023.3.10

代码参照如下:设置JSON数据源(frx模板一定注意对应)--实现的时标签打印,实际是一个对象的格式

{

  Data1:{},

      Data2:{}

}

JsonSchemaGenerator generator = new JsonSchemaGenerator();
var myJsonSchema = generator.Generate(typeof(LabelPrintModel));
var datasource=report.Dictionary.Connections[0] as JsonDataSourceConnection;
var strBuilder = new FastReport.Data.JsonConnection.JsonDataSourceConnectionStringBuilder();
strBuilder.JsonSchema = myJsonSchema.ToString();
var jstr = JsonConvert.SerializeObject(result, typeof(LabelPrintModel), new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
// 输出json方便设计器设计使用
StreamWriter sw = new StreamWriter(@"C:\FastReport\jsondata.json");
sw.WriteLine(jstr);
sw.Flush();
sw.Close();

strBuilder.Json = jstr;
datasource.ConnectionString = strBuilder.ConnectionString;

  导出pdf

FastReport.Export.PdfSimple.PDFSimpleExport export = new FastReport.Export.PdfSimple.PDFSimpleExport();
report.Export(export, $@"C:\FastReport\temp_{DateTime.Now.ToString("yyyyMMddHHmmss")}.pdf");