我们使用快速报告来创建报告,但我们对其创建的PDF质量并不满意.我知道我们可以插入其他PDF组件而不是FastReports附带的组件,所以我的问题是
Delphi有哪些好的PDF组件(免费或商业版)?理想情况下,它不应该需要任何dll.
编辑:我最终购买了Gnostice,因为它有FastReports集成,可用来源和相当好的声誉.然而,我确实发现了一个问题(在我购买之后)将多页报告从FastReports导出到PDF,其中组件泄漏内存并破坏输出.我已经向Gnostice报告过了,所以我想我们会在未来几天看到他们的支持有多好......
编辑2: Gnostice带来了一个修正程序来纠正内存泄漏和损坏的输出.
每当我在我的FMX表格(RAD Studio 10.2)上放置FastReport 2.0 FMX - > TfrxReport组件时,我会收到弹出的错误消息"clCantRen"
运行时没有调试我得到以下错误"[dcc32错误] E2161错误:RLINK32:打开文件时出错"C:\ FireMonkey\MainFrm.fmx"
我的库路径如下
Win32: - C:\ Program Files(x86)\ FastReport FMX\LibD25 Win64: - C:\ Program Files(x86)\ FastReport FMX\LibD25x64
即使我试图保存项目或关闭项目,也不允许我通过弹出错误信息"clCantRen"来这样做.
只有在我从fmx表单中删除组件TfrxReport后,才允许我保存并关闭.请有人告诉我为什么我在FMX表格上收到TfrxReport组件的错误.
任何帮助将不胜感激.
我创建使用FastReport的设计,把它用Delphi 6.一份报告,但DataSet对于MasterData和字段是不是在设计时assinged.我想根据选中的时间在运行时设置这些属性DataSet.我怎样才能做到这一点?我怎样才能访问DataSet的MasterData调用预览/打印/设计之前在Delphi?添加了以下代码frxReport1BeforePrint.
t := frxReport1.FindObject('MasterData1') as TfrxMasterData;
//if Assigned(t) then
//t.DataSet := frxIBODataset1;
m := frxReport1.FindObject('mTenderType') as TfrxMemoView;
if Assigned(m) then
begin
m.DataSet := frxIBODataset1;
m.DataField := 'ACCOUNTNAME';
m.Text := '[frxIBODataset1."ACCOUNTNAME"]';
end;
Run Code Online (Sandbox Code Playgroud)
但是我需要在调用print/design/preview之前设置这些属性.任何帮助表示赞赏.
在将包含EAN128/Code128条形码的报告迁移到快速报告期间,我发现快速报告不使用正确的符号系统.Code128条形码的线条非常宽,因此非常适合仓库中的长距离扫描.我报告了它,但只收到了第三方条形码库的建议.这个似乎使用了正确的符号系统,但它仍处于开发阶段(现在已有好几个月),而且还没有在Delphi 2009中使用Fast Report.
是否有其他Code128/EAN128条形码库可用于快速报告?
Code128条码示例:
![]()
更新:一个月后.与此同时,我们收到了第三方条形码开发人员的源代码 - 但它与我们在2009年10月收到的错误代码相同.因此,我们的项目仍然存在*Fast Reports错误的Code128实现*不完整和错误的第三方库*没有多少时间来实现这一点,所以我们仍然使用基于QuickReport的Delphi 7打印系统
我已经使用Report Builder多年了,但我厌倦了cha-ching,cha-ching.它是"非数据库"报告的绝佳报告工具.
我已经开始玩Fast Reports了,我对此感到非常慌张.对于复杂的"非数据库"报告而言,它似乎是一个很好的数据库报告工具,但却是一个很大 他们的演示和帮助非常糟糕.
希望我能够展示我正在谈论的报告.该报告是一份串行通信报告,其中包含操作系统信息,当然这些信息是单一的.它有4个不同的表,它安装了串行端口和USB串行设备表.它还有一个摘要备忘录.
有没有人在快速报告中成功设计了上述配置的报告?是的,我已经使用快速报告发布了相同的查询.只想要其他意见.
提前致谢.
我最近发现,Fast Report的PDF导出过滤器导出的PDF在Mac OSX,iOS和Android设备中无法正确显示.
Fast Report告知他们的pdf实现仅支持Windows,他们无法说明他们正在开发的新实现何时可用.
我也尝试使用Gnostice导出过滤器,但他们的演示安装程序在Delphi XE中不起作用,当我联系他们时,他们用了15天时间向我发送了一些附带的dcus,但也没有用.所以我正在寻找另一种选择.
如果您知道或使用适用于快速报告的PDF导出过滤器,请告诉我.
2015年11月:快速报告现在具有PDF/A支持,启用此选项后,所有平台上的PDF都可以正常使用.
2014年10月 - 快速报告5似乎仍然生成"仅限Windows"的 PDF.考虑到Fast Report是与Delphi捆绑在一起的报告生成器,针对此问题的生产就绪解决方案将为跨平台开发人员带来好处.
以下是使用Fast Reader 5演示生成的新示例,在Android 4.4上使用Adobe Reader 11显示:

在Windows上:

我使用FastReport,我需要预览/打印超过1000行的网格,我有一些性能问题.通常我使用TfrxCrossObject来准备我的网格,因为最终用户可能会更改网格显示(使用的列,列的名称,大小),所以我需要有一个动态打印.我测试了一个简单的网格(16列x2000行),它需要超过10秒才能显示第一个预览页面.有什么想提高表现吗?
编辑: 正如在一些答案中所说,问题是:如何在FastReport中创建'dynamicaly'网格(在屏幕上具有相同的列名称和大小),而不使用TFrxCrossObject,这似乎不是很有效.我可能会承认所有解决方案,比如使用DataSet或增强TfrxCrossObject.
测试代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
frxClass, StdCtrls, Grids, frxCross;
type
TForm1 = class(TForm)
Button1: TButton;
StringGrid1: TStringGrid;
frxCrossObject1: TfrxCrossObject;
frxReport1: TfrxReport;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure frxReport1BeforePrint(c: TfrxReportComponent);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
i, j: Integer;
begin
for i := 1 to 16 do
for j := 1 to 2000 do
StringGrid1.Cells[i - 1, j - 1] := IntToStr(i * j); …Run Code Online (Sandbox Code Playgroud) 我的公司要求我更新用delphi编写的特定应用程序的报告功能,并使用快速报告代替使用FastReports.
当前实现将所有数据从数据库中提取出来,为组织和计算报告所需的数据做了大量工作,并将所有这些数据存储在几个不同的对象中.然后使用Quick Report OnNeedData事件填充波段,直到没有更多数据(通过设置MoreData = false表示)
我遇到的问题是Fast Reports似乎需要一个频段连接到一个我没有的实际数据源.此外,fastReports似乎没有类似于OnNeedData的事件.
无论如何都要在代码中填写数据带的值并重新打印,直到打印完所有数据而不将带连接到数据集?
我为这个问题的模糊性而道歉,我对报告软件非常陌生,任何有关去哪里和看什么的建议将不胜感激.
我使用 FastReport 创建了一个报告,但我知道将数据获取到该报告的唯一方法是从数据库中获取数据,我想从 a 获取数据TEdit并且我不想存储任何内容,只需输入并TEdit单击按钮( fastreport.preview) + 打印并完成。
我怎样才能做到这一点 ?
请解释我是 Delphi 和 FastReport 的新手。
我正在使用FastReports,并且在iOS上无法正确读取生成的PDF.因为iOS读取PDF/A,FastReports不支持.这显然是FastReports 4.0中的一个已知错误,它将在FastReports 5.0中修复.然而,5.0还有很长的路要走,并且至今已经开发了多年.
所以我的简单解决方案 - 我更喜欢一个简单的解决方案,所以我可以在FastReports 5.0出来后再次删除它 - 现在只需将现有PDF打印到另一个PDF.这可以在没有在系统上安装PDF打印机而只使用Delphi的情况下完成吗?
如果没有,是否有转换器接受PDF文件并输出PDF文件?
delphi ×10
fastreport ×10
pdf ×3
barcode ×1
code128 ×1
dataset ×1
delphi-2009 ×1
delphi-xe3 ×1
firemonkey ×1
grid ×1
quickreports ×1