How to generate an invoice from data

Discussion in 'ASP General' started by Peter Young, Aug 1, 2003.

  1. Peter Young

    Peter Young Guest

    I need to be able to generate an invoice from an ASP page. Currently, the
    invoice is drawn in a web page and my client prints the page from their
    browser. This doesn't work too well in terms of graphics resolution and also
    requires endless positioning tweaking on my part.

    Is there a way to use Word or Excel on the client, and send the invoice data
    down so that some sort of invoice template could be used? This needs to work
    on a Mac and ideally on a PC as well. The client machines have Office
    installed. I'm thinking this would be the best way to eliminate the
    positioning and resolution problems.

    Thanks in advance,
    Pete
    Peter Young, Aug 1, 2003
    #1
    1. Advertising

  2. Peter Young

    Dan Brussee Guest

    In article <#T$0FC#>,
    says...
    > I need to be able to generate an invoice from an ASP page. Currently, the
    > invoice is drawn in a web page and my client prints the page from their
    > browser. This doesn't work too well in terms of graphics resolution and also
    > requires endless positioning tweaking on my part.
    >
    > Is there a way to use Word or Excel on the client, and send the invoice data
    > down so that some sort of invoice template could be used? This needs to work
    > on a Mac and ideally on a PC as well. The client machines have Office
    > installed. I'm thinking this would be the best way to eliminate the
    > positioning and resolution problems.
    >


    What you are asking is possible, but has it's problems.

    Of course the end user would need the program used to open the file in.

    You state you do not want to use HTML (generated via ASP) to display the
    invoice. I would suggest rethinking that. Graphics resulution should be
    no problem at all. Just about any resolution available in Word or Excel
    should work fine in HTML layout. Positioning and tweaking seems strange
    as well. Usually either Word or Excel use some sort of table (Excel
    basically being a big table anyway) which can be replicated in an HTML
    table easily.

    Can you provide an example of what you are trying to produce as an
    invoice? Maybe my idea of an invoice is different from yours :)

    Dan


    --

    Remove NOT from email address to reply. AntiSpam in action.
    Dan Brussee, Aug 1, 2003
    #2
    1. Advertising

  3. Peter Young

    Peter Young Guest

    Hi Dan,

    Thanks for the reply.

    > You state you do not want to use HTML (generated via ASP) to display the
    > invoice. I would suggest rethinking that. Graphics resulution should be
    > no problem at all. Just about any resolution available in Word or Excel
    > should work fine in HTML layout.


    The problem I'm having with resolution is the client wishes to have a
    corporate logo at the top of the invoice. Screen resolution is 72 dpi, but
    to get a good printout of their logo, the image needs to be roughly 300 dpi.
    What I see happen then is that the image is huge. I presume because the rest
    of the page is 72 dpi. If I set the image resolution at 72 dpi, it prints at
    the correct size, but looks pretty bad due to the low resolution.

    The current workaround is for them to print the logos from a graphics
    program first, then put the paper back in and print the invoices without
    images.

    > Positioning and tweaking seems strange
    > as well.


    The problem is that different browsers print the page differently. I
    initially made it to look good in IE on Windows, but when it was printed
    from IE on Mac, it wasn't centered. Tweaking the positioning got it to work
    on the Mac. But now, due to a bug in IE on the Mac (it keeps dumping it's
    cookies and the user's session gets lost) this client is using the new
    Safari browser, which is printing it in a whole different way, and part of
    the invoice is cropped. Not only that, but another client will also be
    needing to print these, but from IE in Windows. I suppose I could detect the
    browser and render it differently per browser. That still doesn't fix the
    image resolution problem though.

    > Can you provide an example of what you are trying to produce as an
    > invoice? Maybe my idea of an invoice is different from yours :)


    Unfortunately, the invoice is part of a private site and I can't post a URL
    to it. If need be, I can put something static together, though without the
    client's actual setup, it's tough to demonstrate exactly what I'm seeing.
    It's just a basic invoice, with a logo at the top. It looks decent, I'm just
    tired of having to adjust the HTML due to browser variances in printing, and
    the client is tired of the extra print operation with the logo.

    I'll turn the table on you a bit. Do you know of an example of this type of
    operation that prints the same from all browsers and on all platforms?

    Otherwise, I would really like to get away from browser-dependent printing.
    It seems to me that there should be a way to send down the data, perhaps in
    XML format or perhaps in a doc or xls format, and then let Word or Excel
    handle it in a rich-client setting. (All users of this system have Office.)
    Or if there's a piece of software like Crystal Reports that can handle this,
    I'm all ears. I'm not at all familiar with the options here, or if there
    even are any.

    Thanks again for the help,
    Pete
    Peter Young, Aug 1, 2003
    #3
  4. Peter Young

    Alan Guest

    You can create the basic design in Word (or whatever) with little
    placeholders embedded wherever you want your dynamic content to appear. Save
    as a RTF and whack it on the server. Then, in your ASP, use a FSO to read in
    the template and replace the placeholders with your actual content. The RTF
    spec isn't simple (search microsoft.com if you're really keen) so I normally
    just reverse-engineer the bits I have to after opening the template file in
    InterDev, notepad, etc.

    If you're careful you can concatenate multiple documents (from multiple
    iterations using the same template) into one, create and then insert little
    RTF tables on the fly, etc.

    For data best presented in a spreadsheet I normally just Response.Write it
    out as tab separated values.

    Alan


    "Peter Young" <> wrote in message
    news:#T$0FC#...
    > I need to be able to generate an invoice from an ASP page. Currently, the
    > invoice is drawn in a web page and my client prints the page from their
    > browser. This doesn't work too well in terms of graphics resolution and

    also
    > requires endless positioning tweaking on my part.
    >
    > Is there a way to use Word or Excel on the client, and send the invoice

    data
    > down so that some sort of invoice template could be used? This needs to

    work
    > on a Mac and ideally on a PC as well. The client machines have Office
    > installed. I'm thinking this would be the best way to eliminate the
    > positioning and resolution problems.
    >
    > Thanks in advance,
    > Pete
    >
    >
    Alan, Aug 1, 2003
    #4
  5. Peter Young

    Chris Barber Guest

    Interesting fix for the logo issue:

    Have the graphic at 300dpi and in the page set the width and height of
    the image to be "20%" [roughly 72/300]

    eg.

    <img src="300dpiimage.jpg" width="20%" height="20%"/>

    That should give you the correct 'size' on the screen and also a 300dpi
    print image when printed from IE (at least I think it did when I was messing
    with print layouts for online maps).

    Chris.

    "Peter Young" <> wrote in message
    news:%234ffqC$...
    Hi Dan,

    Thanks for the reply.

    > You state you do not want to use HTML (generated via ASP) to display the
    > invoice. I would suggest rethinking that. Graphics resulution should be
    > no problem at all. Just about any resolution available in Word or Excel
    > should work fine in HTML layout.


    The problem I'm having with resolution is the client wishes to have a
    corporate logo at the top of the invoice. Screen resolution is 72 dpi, but
    to get a good printout of their logo, the image needs to be roughly 300 dpi.
    What I see happen then is that the image is huge. I presume because the rest
    of the page is 72 dpi. If I set the image resolution at 72 dpi, it prints at
    the correct size, but looks pretty bad due to the low resolution.

    The current workaround is for them to print the logos from a graphics
    program first, then put the paper back in and print the invoices without
    images.

    > Positioning and tweaking seems strange
    > as well.


    The problem is that different browsers print the page differently. I
    initially made it to look good in IE on Windows, but when it was printed
    from IE on Mac, it wasn't centered. Tweaking the positioning got it to work
    on the Mac. But now, due to a bug in IE on the Mac (it keeps dumping it's
    cookies and the user's session gets lost) this client is using the new
    Safari browser, which is printing it in a whole different way, and part of
    the invoice is cropped. Not only that, but another client will also be
    needing to print these, but from IE in Windows. I suppose I could detect the
    browser and render it differently per browser. That still doesn't fix the
    image resolution problem though.

    > Can you provide an example of what you are trying to produce as an
    > invoice? Maybe my idea of an invoice is different from yours :)


    Unfortunately, the invoice is part of a private site and I can't post a URL
    to it. If need be, I can put something static together, though without the
    client's actual setup, it's tough to demonstrate exactly what I'm seeing.
    It's just a basic invoice, with a logo at the top. It looks decent, I'm just
    tired of having to adjust the HTML due to browser variances in printing, and
    the client is tired of the extra print operation with the logo.

    I'll turn the table on you a bit. Do you know of an example of this type of
    operation that prints the same from all browsers and on all platforms?

    Otherwise, I would really like to get away from browser-dependent printing.
    It seems to me that there should be a way to send down the data, perhaps in
    XML format or perhaps in a doc or xls format, and then let Word or Excel
    handle it in a rich-client setting. (All users of this system have Office.)
    Or if there's a piece of software like Crystal Reports that can handle this,
    I'm all ears. I'm not at all familiar with the options here, or if there
    even are any.

    Thanks again for the help,
    Pete
    Chris Barber, Aug 1, 2003
    #5
  6. Peter Young

    Don Verhagen Guest

    In news:%23T$0FC%,
    Peter Young <> typed:
    : I need to be able to generate an invoice from an ASP page. Currently,
    : the invoice is drawn in a web page and my client prints the page from
    : their browser. This doesn't work too well in terms of graphics
    : resolution and also requires endless positioning tweaking on my part.

    Yes, because the *browser* is printing a web page, not a form.

    : Is there a way to use Word or Excel on the client, and send the
    : invoice data down so that some sort of invoice template could be
    : used? This needs to work on a Mac and ideally on a PC as well. The
    : client machines have Office installed. I'm thinking this would be the
    : best way to eliminate the positioning and resolution problems.

    I would suggest PDF format over Word/Excel. Unless the data needs to be
    edited for some reason. The one reason I am suggesting PDF is because of
    it's availiability on PC/Mac.

    I guess my other question is how many invoices are to be view/printed this
    way? If it's many (your call as to what qualifies as many), spend the money
    for some PDF tools.

    My 2 cents,
    Donald Verhagen
    Don Verhagen, Aug 1, 2003
    #6
  7. Peter Young

    Alan Guest

    Pagination can be a problem when using HTML to generate reports. With RTF,
    because it's ASCII-based you have pretty good control over the behaviour and
    content of the document, you can edit the content after it's been rendered
    (pro and con), and it's a free solution. It also works well with my user
    base of PCs/Macs, different browsers, etc.

    I would also be interested in a PDF solution though. Are any of the
    components free and able to create multi-page documents from database data?

    Alan

    "terje" <> wrote in message
    news:bgdgps$no08b$-berlin.de...
    > Twice a month I recieve an html page filled with cols and rows with text

    and
    > it prints perfectly. I checked the html and it was all placed into html
    > tabels. The positioning is done by doing absolutely everything in %:

    <table
    > width ="100%"><tr><td width="55%" /18% 6% ... Ok there is no graphics on

    the
    > page, but if you have only one logo at the top, why not print that first

    as
    > you said you already are doing and then do the rest with html?
    >
    > terje
    >
    >
    Alan, Aug 2, 2003
    #7
  8. Peter Young

    Peter Young Guest

    Thank you all for the feedback. I'm going to investigate the PDF components
    out there. That would seem to provide the most flexibility.

    Anyone have a recommended component?

    Thx,
    Pete

    "Peter Young" <> wrote in message
    news:%23T$0FC%...
    > I need to be able to generate an invoice from an ASP page. Currently, the
    > invoice is drawn in a web page and my client prints the page from their
    > browser. This doesn't work too well in terms of graphics resolution and

    also
    > requires endless positioning tweaking on my part.
    >
    > Is there a way to use Word or Excel on the client, and send the invoice

    data
    > down so that some sort of invoice template could be used? This needs to

    work
    > on a Mac and ideally on a PC as well. The client machines have Office
    > installed. I'm thinking this would be the best way to eliminate the
    > positioning and resolution problems.
    >
    > Thanks in advance,
    > Pete
    >
    >
    Peter Young, Aug 2, 2003
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Guoqi Zheng

    printing invoice in asp.net

    Guoqi Zheng, Jun 18, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    1,280
    Guoqi Zheng
    Jun 18, 2004
  2. Guoqi Zheng

    how you print your invoice

    Guoqi Zheng, Jul 4, 2004, in forum: ASP .Net
    Replies:
    3
    Views:
    3,278
    clintonG
    Jul 4, 2004
  3. =?Utf-8?B?Y0ZsZXVyeQ==?=

    Invoice printing in ASP.NET

    =?Utf-8?B?Y0ZsZXVyeQ==?=, Nov 1, 2004, in forum: ASP .Net
    Replies:
    2
    Views:
    7,547
    Kevin Spencer
    Nov 1, 2004
  4. Bob
    Replies:
    2
    Views:
    539
  5. Bob
    Replies:
    0
    Views:
    526
Loading...

Share This Page