Archived reports
Hi!!
For a project here at work we need to print invoices and store them to an
archive.
Now, for the people who didn't pay we have to print a reminder. The reminder
is the invoice with the text reminder added.
So my question is: is it possible to drawtext on an archived report? Or does
someone know a possiple sollution...
We use Delphi 6 and ReportBuilder 6.03!!
Best regards,
Vincent
For a project here at work we need to print invoices and store them to an
archive.
Now, for the people who didn't pay we have to print a reminder. The reminder
is the invoice with the text reminder added.
So my question is: is it possible to drawtext on an archived report? Or does
someone know a possiple sollution...
We use Delphi 6 and ReportBuilder 6.03!!
Best regards,
Vincent
This discussion has been closed.
Comments
reports.
We do not have a utility that adds draw commands to an archive file. To do
this, first, you'll have to create a new class which is modeled after our
archive reader class (TppArchiveReader). This will let you open the archive
and stream it up into page objects. The archive has a header which is the
page information, as each page has a different length in memory and the
header has info on the position of the pages in the archive file, like a
directory of sorts. There is code in the archive reader that reads the
header. Once you can loop through the pages of the archive, you can
manipulate the page objects by adding a TppDrawText object to the page. Then
you will have to write the archive file back down to a file stream to file
with the new draw commands added.
uses
ppDrwCmd;
...
lDrawText := TppDrawText.Create(nil);
lDrawText.Page := aPageObject;
...
Set draw command measurements in microns.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
the Archive files, I can point out a few things to wathc out for. I built a
utility that can reverse-engineer the RAF to the Designer, allow you to make
changes and save it back to an RAF file an it was no easy task. The
ArchiveReader unit does not contain sufficient information on the structure
of the Archive and adding draw commands will present you with problems of
re-syncing the the header.
I would suggest another approach that would simplify things considerably.
Add the label that contains the text that you want and set the Font Color to
white so that it will not show on the report. The draw command will be
generated but not seen (unless you print on colored paper). Then, write
your utility (or logic) to read each page and find that draw text command
and change the Font Color to black and add that page (and all other pages)
to an output stream or you may even be able to write it back to the original
stream. (I would have to check this). The idea here is that the draw
command already exists and changing the Font Color will not change the size
of the page and that way you will not have to re-calculate the position
value in the header.
Chuck Van Acker
Alogent Corp.
to
Good idea Chuck!
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com