FastReport使用交流,FastReport中国社区FastReport联系电话 联系电话:17347785263

使用FastReport .Net 1分钟学会如何用.NET Core在Raspberry PI上制作PDF

来源:   发布时间:2020-06-05   浏览:263次

报表生成器FastReport .NET是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。

近日,FastReport .Net升级到v2020.3版,在此版本中,添加了瑞士QR码,允许配置打印机托盘以打印报告的最后一页,不再支持.NET Framework 2.0,同时修复了多个Bug问题,感兴趣的朋友可点击下方按钮下载最新版。

点击下载最新版FastReport .Net

Raspberry PI是带有ARM处理器的微型单板计算机。该微型计算机通常用作教育平台或用于嵌入式解决方案的开发。

使用FastReport .Net 1分钟学会如何用.NET Core在Raspberry PI上制作PDF

在实验中,使用了带有1GB RAM的Raspberry PI 3B板和安装了带有桌面操作系统的Linux Raspbian Buster。

尽管它很小,使用的是一台功能强大的计算机。尝试在其上安装. net核心框架,并编写一个简单的c#应用程序来生成PDF文档。

首先,我们需要通过SSH连接到树莓,或者在桌面打开终端应用程序,如果你把板连接到显示器和键盘。当然,板必须连接到互联网上安装我们需要的组件。

在PATH环境变量中将路径添加到.NET Core文件夹,并创建DOTNET_ROOT变量:

$ export DOTNET_ROOT=$HOME/dotnet
$ export PATH=$PATH:$HOME/dotnet

最后几行最好添加到用户配置文件配置文件中:〜/ .bash_profile,〜/ .bashrc,〜/ .kshrc,〜/ .profile,〜/ .zshrc,〜/ .zprofile。可以通过以下命令验证.NET Core SDK的正确安装:

$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version: 3.1.300
 Commit: b2475c1295
 
Runtime Environment:
 OS Name: raspbian
 OS Version: 10
 OS Platform: Linux
 RID: linux-arm
 Base Path: /home/pi/dotnet/sdk/3.1.300/
 
Host (useful for support):
 Version: 3.1.4
 Commit: 0c2e69caa6
 
.NET Core SDKs installed:
 3.1.300 [/home/pi/dotnet/sdk]
 
.NET Core runtimes installed:
 Microsoft.AspNetCore.App 3.1.4 [/home/pi/dotnet/shared/Microsoft.AspNetCore.App]
 Microsoft.NETCore.App 3.1.4 [/home/pi/dotnet/shared/Microsoft.NETCore.App]
 
To install additional .NET Core runtimes or SDKs:
 https://aka.ms/dotnet-download

为了进行进一步的工作,您需要安装其他软件包(其余的所有软件包已随带桌面的Linux Raspbian Buster一起安装):

$ sudo apt-get install libgdiplus
$ sudo wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
$ sudo apt-get install -y ttf-mscorefonts-installer_3.6_all.deb

现在,可以创建我们的应用程序。运行命令:

$ dotnet new console -o testpdf

我们看到控制台应用程序的模板,在testpdf文件夹中带有文件testpdf.csproj和Program.cs。替换testpdf.csproj文件的代码:

Exe
 netcoreapp3.1

文件包含指向Nuget FastReport.Core和FastReport.Compat包的链接。它们将在构建过程中下载并放置在〜/ .nuget / packages中。

Program.cs文件应替换为以下代码:

using System;
using FastReport;
using FastReport.Export.Pdf;
using FastReport.Utils;
 
namespace testpdf
{
class Program
 {
 static void Main()
 {
 Console.WriteLine("Test FastReport Core"); 
 // create report object
 using Report report = new Report();
 // create page
 using ReportPage page = new ReportPage();
 // add page in report
 report.Pages.Add(page);
 // create band
 page.ReportTitle = new ReportTitleBand()
 {
 Height = Units.Centimeters * 10
 };
 // create text object placed on band
 using TextObject text = new TextObject()
 {
 Left = Units.Centimeters * 7,
 Top = Units.Centimeters * 5,
 Font = new System.Drawing.Font("Arial", 24),
 CanGrow = true,
 AutoWidth = true,
 Text = "Hello Raspberry!",
 Parent = page.ReportTitle
 };
 
 // make the document
 report.Prepare();
 // save the document as PDF file
 using PDFExport pdf = new PDFExport();
 report.Export(pdf, "file.pdf");
 }
 }
}

该代码创建一个报表实例,在其中添加页面,并在其上添加一个带。然后在“左”和“上”坐标处创建一个文本对象。CanGrow和AutoWidth属性允许对象根据文本的大小自动计算高度和宽度。

用程序代码创建对象不是生成文档的唯一方法。可以使用FastReport .NET附带的Designer.exe模板编辑器。然后可以使用Report.Load方法加载由编辑器生成的扩展名为* .frx的文件。在xml模板中,您可以指定到用户数据,变量的绑定,使用内置和用户定义的函数。您可以在官方网站上了解有关FastReport .NET功能的更多信息。

准备文档后,将其保存为PDF文件。代码中使用的所有对象均包含许多影响其在文档中行为的属性。

运行程序:

$ dotnet run

如果一切完成,并且安装了所有必需的软件包,将获得file.pdf。否则,需要阅读错误内容并消除错误。生成的PDF文件完全符合该标准,包含文本和嵌入字体。可以选择文本并将其复制到另一个文档。

使用FastReport .Net 1分钟学会如何用.NET Core在Raspberry PI上制作PDF

在页面的左上角有文本,指示我们使用的是FastReport .NET Core演示版。演示版本中的最大页面数限制为五个。FastReport .NET的商业版本不包含这些限制。

有一种方法可以完全免费地获得没有DEMO VERSION标签的类似PDF文件。您可以使用FastReport开源产品。

让我们更改csproj文件和ItemGroup部分:

<ItemGroup> <PackageReference Include="FastReport.Compat" Version="2020.3.2" /> <PackageReference Include="FastReport.OpenSource" Version="2020.3.1" /> <PackageReference Include="FastReport.OpenSource.Export.PdfSimple" Version="2020.3.1" /> </ItemGroup>

需要对Program.cs文件进行如下更改:

using System;
using FastReport;
using FastReport.Export.PdfSimple;
using FastReport.Utils;
 
namespace testpdf
{
 class Program
 {
 static void Main()
 {
 Console.WriteLine("Test FastReport Open Source");
 
 // ...
 // same code here ...
 // ...
 
 // save the document as PDF file
 using PDFSimpleExport pdf = new PDFSimpleExport();
 report.Export(pdf, "file.pdf");
 }
 }
}

然后,使用dotnet run命令运行该程序,并获得一个没有“演示版本”标签和对页数有任何限制的PDF。

不幸的是,开放源代码版本有一个很大的缺点:PDF文件中包含图像而不是文本。复制此类文本将不起作用,文件大小将大大增加。对于简单的应用程序,这应该足够了。


惊喜618!Fastreport在线购买价更低!赶紧加入购物清单吧!

还想要更多吗?您可以点击阅读【FastReport 报表2019最新资源盘点】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群(783996712),我们很高兴为您提供查询和咨询。

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2811.html

相关产品: FastReport.Net,


联系我们
  • 重庆总部 17347785263
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
在线
QQ
电话
咨询
400-700-1020
返回
顶部