Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Reportbuilder & Reform

edited March 2005 in General
Hi everyone,
please give a look to this message. I need your help.

Several applications prints data over paper preprinted layouts (an invoice,
for example). The data sent by the application to the printer spooler are
only the effective data (company, address, several rows of part numbers,
descriptions, unit prices, quantities and finally the invoice total) and
they are printed into the relative blank fields of the paper preprinted
layout.
By merging the paper layout with the data we will have our complete invoice.
The paper layout is (for the invoce documents) always the same. The data not
(obvioulsy).
Now, I must build an application that, using, for example, a designer can
give me the possibility to create the electronic predefined layouts (one for
each type of document to be printed) based on the data sent to the spooler
by the external application ( like Reform Enterprise do (www.fabsoft.com)).
The reason to build a Reform like application is that, once the document is
printed, it will be converted on the fly into a searchable PDF doc and
inserted into a CRM database.

Can ReportBuilder help me in some way? Do you have some ideas about how to
do this? Do you know about a Delphi library tha can help my job?

Please help me.

Robert.

Comments

  • edited March 2005

    1. You need to scan the forms and convert them to a .wmf file (see article
    below). Also there is an example in our Developers Guide Tutorial that
    creates a tax form. That form is a wmf.

    2. One option is to use the Report | PageStyle band as a background layer.
    Place the image of the form on that layer. The other option is to remove the
    header and footer bands and place the image on the detail band.

    3. When you preview the background image will be shown. When you print to
    the printer, set the background image to visible of False so that it will
    not print. You can do this by implementing the Report.BeforePrint event

    if myReport.PrintDevice <> nil then
    myBackgroundImage.Visible := False
    else
    myBackgroundImage.Visible := True;


    ------------------------------------------
    Article: Forms Emulation in Report Builder
    ------------------------------------------

    Customers often ask how to include their pdf forms in report builder so they
    can do forms emulation like our provided demo. Unfortunately, Report Builder
    only supports windows metafiles (.emf) for this feature. This leads to the
    question of how to convert a pdf document to an emf document.

    Options
    --------

    1. e-Transform 2000
    http://www.g7ps.com

    The tax form in our tutorial was created by a customer. He used the MIPS
    Transform Suite to do it at the time. This product has since been renamed to
    e-Transform 2000. It is available at: http://www.g7ps.com.

    2. Adobe Illustrator

    Another option is Adobe Illustrator 10. Although we haven't tried it, we
    have heard that is has excellent support of vector graphic format
    conversions.


    3. Irfanview

    http://www.irfanview.com

    Other customers recommend an application called Irfanview. It is available
    as freeware for non-commercial use and is reportedly very simple to use.


    4. pstoedit

    http://www.pstoedit.net/pstoedit

    Another open source freeware product called pstoedit which can be obtained
    form http://www.pstoedit.net/pstoedit.


    --
    Tech Support mailto:support@digital-metaphors.com
    Digital Metaphors http://www.digital-metaphors.com



    --
    Nard Moseley
    Digital Metaphors Corporation
    http://www.digital-metaphors.com



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited March 2005
    Thank you for the reply. Unfortunately my problem is perhaps a bit
    different. I will explain you better.

    The external application normally prints (an invoice, for example) over a
    printer or into a text file (say invoice.out'). We have no access to the
    database of the external application, we can only read the invoice.out text
    file.
    The invoice file is like the 'invoice.out' file linked to this message.
    Since it's text, only text, we have no reference to any active field to be
    printed, we have only text.
    But... I can imagine my application. I must find a method that, with the
    invoice.out file loaded into a control (say a memo or a rich text), permit
    me to define, with graphic rectangles for example, the active positional
    fields into the text file, and into another control (richtext) I can see
    those fields in graphic to build the final form layout. To better understand
    please give a look to the 2 linked images, they are taken from Reform
    designer (www.fabsoft.com). The Text Layer is the text file editor where I
    can define the positional fields. Once a field is intercepted by the green
    rectangle, into the Design Layer this field is created and assigned to a
    position. You can drag every field as you want to build the final layout of
    the invoice. The external application now print not over the common printer
    but over a pseudo printer (to be builded) with name INVOICE that take the
    spool and transfer the text (all the text) over the invoice layout merging
    them. The text that coincide to a positional field of the text layout (Text
    layer) will be transferred to the corresponding field (same name) defined
    into the Design Layer and the game is done. But it's not so simple...

    Now, I'm novice in ReportBuilder and my answer is:
    Can RB help me to do it?
    Do you know about some library that can help me?
    Do you have some ideas about a better solution to this problem?

    Thanks for your courtesy.

    Robert.


  • edited March 2005

    Its a mapping problem. Typically with a tool such as ReportBuilder you have
    some structured data (database table or comma-delimited text file, or in
    memory data structure) and you build a report layout that maps the data into
    a document.

    For an Invoice you typically have order and item information that is modeled
    as a master / detail relation

    order / items ----> Report Layout ----> Document output (preview, print,
    PDF, etc.)


    One solution for your application would be to translate the Invoice.out file
    into structure data files. Once you do that the rest is simple with RB..

    Invoice.out --> Order/Items data --> Report Layout --> Document output



    --
    Nard Moseley
    Digital Metaphors Corporation
    http://www.digital-metaphors.com


    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.