Library tutorials & articles

Printing Reports in .NET

Introduction

Printing a document programmatically is quite involved. Using the ReportPrinting library presented here, youll be able to print reports with multiple sections, with very little code.


Figure 1 - Part of a sample report

This report is comprised of plain text sections (such as the title "Birthdays", and the other paragraphs) and grids of data from a database (more specifically, from a DataView object). Since the initial version of this document, I've already extended the framework to handle images (from .NET Image class), boxes (similar to the CSS box implementation) and more are coming every week. For the latest versions, check the releases page.

This article includes

  • A step-by-step introduction
  • Descriptions of the classes available in the library
  • An introduction the possible layouts of your reports

Comments

  1. 02 Jun 2009 at 11:34

    Hi, Is Maria still here ?

  2. 04 Mar 2007 at 22:21
    Fist of all you have to learn how to program, but I think it's better that you learn how to read.

  3. 08 Jul 2006 at 02:52

    Simple, I hope, question - What and how do I add the "Library" to my C# VS2005 project?

    I.m new to C# and VS 2005.  This is my first project.  ReportPrinting appears to be just what I was looking for, but it doesn't run in VS 2005, yet I can execute the ReportDocumentTesting.exe from within the Debug directory.

    Thank you,

    Jim

  4. 27 Jun 2005 at 14:12
    Borland Delphi and Borland C++Builder users often ask us, “Which report generator to choose: either FreeReport or FastReport 2.*, or FastReport 3.*?”, “Why FastReport 2 and FastReport 3 both are available for registration?”

    We are always glad to help you with your choice. Moreover, everything is rather simple – answer some questions and the choice will be obvious.

    So:

    1.    Are you going to create application programs with report generator functions only for Windows? (in that case we advise you to decide only between FreeReport and FastReport 3)
    2.    Do you write free programs, go in for programming as a hobby – for yourself and do not intend (not plan yet) that this occupation will bring you profit? (in that case we advise you to use FreeReport –  a fully free solution, which even now has a more serious functionality than most of commercial report generators for Delphi. And the availability of detailed documentation /that is absolutely unique for free product/ allows us to recommend this solution even to beginners in programming).
    3.    Do you intend to create cross-platform application programs or programs for Linux via using Borland Kyilx development framework? Or do you prefer application suite, which partially Linux-based, and partially MS Windows-based? (In that case FastReport 2.* CLX or FastReport 2.* CLX + FastReport 2.* VCL bundle – remarkable for the full compatibility; moreover, FastReport 2.* VCL supports a great number of capabilities peculiar to MS Windows platform - will suit you.
    4.    Do you use high technology in your work, know XML advantages? Are you interested in multithreaded report building? Do you need the full set of functions that report generator possesses (beginning with turning of the text to any angle and floating of the text from one block to another and ending with export filters precisely set in different formats including such as PDF, HTML, XLS etc. and report servers creation for distributed corporative applications <detailed comparison table is here >? (Then the entire spectrum of FastReport 3 solutions is at your service)

    And some more additions:

    1.    FastReport 3 exists today only in VCL variant (that is why VCL is not pointed out in its name), whereas FastReport 2.5* exists both in VCL and CLX variants – that is why the variant in FastReport 2.5* name is pointed out obligatory.
    2.    There is no need to be afraid of becoming a “solution hostage” after choosing FastReport 2 or FreeReport. Both FastReport 2 and FreeReport contain built-in means for converting reports from FastReport 2 format into FastReport 3 format.
    3.    For all FastReport 2 and FastReport 3 users of earlier delivered variants a privileged transition to FastReport 3 (of any variants of delivering) for variation in prices is foreseen.
    4.    FastScript, which is delivered being included into FastReport 3 Standard and higher, may be used in applications and separately from FastReport 3.
  5. 12 Apr 2005 at 08:31
    • added Delphi 4-7, 2005, C++Builder 4-6 support
    • added FastReport 3 (*.fr3) format support in report designer

      ????


    ????



    FreeReport is a reporting tool component. It consists of report engine, designer and preview. Its capabilities are comparable with that of Crystal Reports. It is written on 100% Object Pascal and can be installed in Delphi 4-7,2005 and C++Builder 4-6.
     This version of FreeReport is based on FastReport ver. 2.32.
     ROYALTY-FREE with FULL source code


    See more here: http://www.fast-report.com

  6. 15 Oct 2004 at 16:24


    Hello,


    By now you probably figured it out, but you have to do something like this:


           dv = dt.DefaultView;
           SectionTable st = builder.AddTable(dv, false, 100.0f);
           st.SuppressHeaderRow = true;
           st.OuterPens = st.InnerPenHeaderBottom = st.InnerPenRow = null;
           builder.AddColumn("Col1", "", 1.5f);
           builder.CurrentColumn.RightPen = null;
           builder.AddColumn("Col2", "", 2.7f);
           builder.CurrentColumn.RightPen = null;


    I've been fighting with this library for the entire day, and I hope it helps you!


     -- LuisR

  7. 28 Jul 2004 at 08:37
    Hi Mike

    Thanx for the great stuff you gave us for free. It saved me centuries of my time.
    I hope you still read this coz I have a small problem. Please tel me how to remove grid when I print dataview.

    Regards
    Al
  8. 19 Jul 2004 at 02:17

    Some information on FastReport 3:
    - Rewritten class architecture.
    - Storing reports in XML format.
    - Full WYSIWYG (now for text objects too).
    - Text rotation 0..360 degrees.
    - Memo object supports simple html-tags (font color, b, i, u, sub, sup).
    - Styles, Text flow.
    - URLs, Anchors.
    - Dot matrix reports.
    - One script in the report (like an unit in the Delphi), Multi-language architecture allows you to use many languages
    (Pascal, C++, Basic, Java).
    - Access to any object inside your application (in case you've allowed this). Standard libraries to access to base classes,
    controls and forms. Easily expandable library architecture.
    - Debugger, Improved Object Inspector.
    - Zooming, Rulers, guides.
    - Wizard for base type reports.
    - Full Undo/Redo.


    Read more: http://fast-report.com/en/fr3.php


    Features comparison (compare FastReport 3 with the current version of FastReport):
    http://fast-report.com/en/comparison.php


    Price-list: http://fast-report.com/en/upgrade.php


    Download FastReport 3: http://www.fast-report.com/en/download.php

  9. 23 Jun 2004 at 01:05

    Hello all,


    I have a little .NET vs. VS 6 user control curiosity!  ^_^  any takers?  


    If I have a project that contains a user control that I made in VS6 and then want to convert it to VS.NET, can I still call the component /dll from within a test application that was created mainly in VB6?  Does anyone have exerience with the conversion of user controls - because when the project with the user control is converted to .Net, the user control code is totally gone in the .Net version of the project!


    Well a little insight would help me a long way!  
    Thanks guys,


    Maria

  10. 01 Jan 1999 at 00:00

    This thread is for discussions of Printing Reports in .NET.

Leave a comment

Sign in or Join us (it's free).

Mike Mayer Mike Mayer is a Microsoft MVP in Visual C#.
AddThis

Related podcasts

  • A Practical Look at Silverlight 2 Part 1

    Now that Silverlight 2 is at the Olympics and making a big splash, we wanted to explore this fascinating technology more. Microsoft Silverlight 2 is a cross-browser, cross-platform, and cross-device plug-in for delivering the next generation of .NET based media experiences and rich interactive ap...

Events coming up

  • Nov 18

    15 Minutes of Fame

    Dresher, United States

    This is a yearly tradition. We select 10 of the favorite speakers from monthly meetings, code camps, and hands on labs. Each one does a 15 minute talk on their favorite .NET technology. This is our 10th anniversary so we plan a gala event with special prizes and refreshments.

We'd love to hear what you think! Submit ideas or give us feedback