求.netcore 按模板导出pdf免费插件,可自定义页面大小等,不要Magicodes.IE.Pdf,因为试了不能设置页面大小
可后台组成数据替换模板中的字段
求.netcore 按模板导出pdf免费插件
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
30条回答 默认 最新
关注 获得0.30元问题酬金 引自免费微信小程序:皆我百晓生
要解决这个问题,我们可以尝试使用
Pandas
库来进行表格数据处理,并使用Fpdf
库进行PDF文件的创建。此外,我们还需要一个可以提供自定义模板功能的第三方库。首先,确保你已经安装了必要的Python库(如果你还没有安装的话)。在命令行中运行以下命令:
pip install pandas fpdf pyPdf
接下来,我们将实现这个需求。这里有一个简单的示例脚本,展示了如何使用
Pandas
和Fpdf
库将数据写入到PDF文件中,并且允许用户自定义页面大小。import pandas as pd from fpdf import FPDF from io import BytesIO def create_pdf(data, template_file, output_file): # 创建一个新的PDF对象 pdf = FPDF() # 设置页面尺寸 pdf.set_auto_page_break(auto=True, margin=20) # 加载模板文件 with open(template_file, 'rb') as file: template = file.read() # 将模板转换为字符串 template_str = str(template, encoding='utf-8') # 解析模板 parsed_template = pd.read_html(template_str)[0] # 使用解析后的数据填充表单 data = pd.DataFrame(parsed_template) # 添加页码 data['Page'] = range(1, len(data) + 1) # 打印每一页的数据 for i in range(len(data)): page_data = data.iloc[i].to_dict() # 调整页面大小 if 'Width' in page_data and 'Height' in page_data: width = int(page_data['Width']) height = int(page_data['Height']) pdf.add_page(width=width, height=height) # 插入数据 pdf.cell( w=50, h=5, txt=f'{i+1}', ln=1, align='C' ) pdf.multi_cell( w=sum([len(x) for x in page_data.values()] + [10]), h=15, txt='\n'.join(f'{k}: {v}' for k, v in page_data.items()), ln=1 ) # 输出PDF到内存 buffer = BytesIO() pdf.output(buffer, "F") buffer.seek(0) # 保存PDF with open(output_file, 'wb') as file: file.write(buffer.getvalue()) return None # 示例数据 data = { 'Name': ['John', 'Jane'], 'Age': [30, 25], 'Country': ['USA', 'Canada'] } template_file = 'template.html' output_file = 'output.pdf' create_pdf(data, template_file, output_file)
这个脚本会创建一个名为
output.pdf
的PDF文件,其中包含一个带有自定义模板的表格。注意,你需要根据实际需求修改模板文件的内容。在这个例子中,我们没有使用任何第三方库,因为它们的功能与上述方法不相关。所以,虽然这只是一个基本的例子,但你应该能够在.NET Core环境中通过类似的方法完成任务。如果你有特定的需求,例如需要对模板进行更复杂的操作,可能需要考虑使用其他工具或API。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 35114 SVAC视频验签的问题
- ¥15 impedancepy
- ¥15 在虚拟机环境下完成以下,要求截图!
- ¥15 求往届大挑得奖作品(ppt…)
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图
- ¥15 UE5.1局部变量对蓝图不可见