PdfReport.Core is a code first reporting engine, which is built on top of the iTextSharp.LGPLv2.Core and EPPlus.Core libraries
C#
Switch branches/tags
Nothing to show
Clone or download
Latest commit a9adac9 Jun 1, 2018

README.md

PdfReport.Core

PdfReport.Core is a code first reporting engine, which is built on top of the iTextSharp.LGPLv2.Core and EPPlus.Core libraries.

PdfReport.Core supports wide range of the data sources from dynamic lists to in memory strongly typed lists without needing the database. It saves your time from searching and learning a lot of tips and tricks of iTextSharp and EPPlus libraries. It's designed to be compatible with RTL languages.

sample PDF report

Install via NuGet

To install PdfReport, run the following command in the Package Manager Console:

PM> Install-Package PdfRpt.Core 

You can also view the package page on NuGet.

Licenses

Library License
PdfReport.Core LGPLv2
iTextSharp.LGPLv2.Core LGPLv2 (It's not AGPL)
EPPlus.Core LGPLv2

Usage

Sample
How to use PdfRpt.Core library in an ASP.NET Core application?
How to create a report from a generic list?
How to add calculated fields to a PDF report?
How to use different data sources and then merge them together as a single report file?
How to manage and access PdfReport's events?
How to create a report from file system's images?
How to customize a report's header using HTML?
How to customize a report's cell template using HTML?
How to use data annotations to simplify defining column's properties?
How to create and add a new custom row between the available rows?
How to create an inline custom cell's template
How to create an in-memory PDF report for ASP.NET applications?
How to create a Mailing Labels report?
How to create master-detail reports from one-to-many relationships?
How to create multi-columns reports?
How to create reports with dynamically created columns?
How to disable printing on a PDF file?
More samples ...

Note:

To run this project on non-Windows-based operating systems, you will need to install libgdiplus too:

  • Ubuntu 16.04 and above:
    • apt-get install libgdiplus
    • cd /usr/lib
    • ln -s libgdiplus.so gdiplus.dll
  • Fedora 23 and above:
    • dnf install libgdiplus
    • cd /usr/lib64/
    • ln -s libgdiplus.so.0 gdiplus.dll
  • CentOS 7 and above:
    • yum install autoconf automake libtool
    • yum install freetype-devel fontconfig libXft-devel
    • yum install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel
    • yum install glib2-devel cairo-devel
    • git clone https://github.com/mono/libgdiplus
    • cd libgdiplus
    • ./autogen.sh
    • make
    • make install
    • cd /usr/lib64/
    • ln -s /usr/local/lib/libgdiplus.so gdiplus.dll
  • Docker
    • RUN apt-get update \

      && apt-get install -y libgdiplus

  • MacOS
    • brew install mono-libgdiplus

      After installing the Mono MDK, Copy Mono MDK Files:

      • /Library/Frameworks/Mono.framework/Versions/4.6.2/lib/libgdiplus.0.dylib
      • /Library/Frameworks/Mono.framework/Versions/4.6.2/lib/libgdiplus.0.dylib.dSYM
      • /Library/Frameworks/Mono.framework/Versions/4.6.2/lib/libgdiplus.dylib
      • /Library/Frameworks/Mono.framework/Versions/4.6.2/lib/libgdiplus.la

      And paste them to: /usr/local/lib