Namespace Reportman.Drawing
Classes
AdvFontData
Wraps the raw bytes of a TrueType/OpenType font file together with the offset of its table directory.
AssemblyResolver
Installs an AppDomain assembly-resolve handler that locates the native System.Data.SQLite assembly from the architecture-specific (Win32/Win64) subfolder next to the executing assembly.
BitmapInfo
Holds the pixel dimensions (width and height) of a decoded image.
BitmapUtil
Static helpers for inspecting and decoding raw image streams, reading JPEG dimensions and converting BMP/DIB pixel data into the Adobe PDF compatible form used by the render drivers.
CompressionTask
Tracks an asynchronous stream-compression operation, holding its task, cancellation source, and the output stream position where the compressed result will be written.
DataUtilities
DataTable and DataSet utilities
DateUtil
Provide utitilies about handling DateTime values
DbSqlExecuter
ADO.NET-based ISqlExecuter implementation that queues SQL open/execute and transaction operations and runs them against a generic DbConnection (via a DbProviderFactory) when flushed, with support for parameterized commands, insert blocks and partial (chunked) result-set filling.
DoubleUtil
Provide utitilies about handling double values
Doubles
Collection of double values
EmbeddedFile
A file embedded in the metafile (and later in the generated PDF), holding its content stream together with its name, MIME type, description, dates and PDF/A association relationship.
Encrypter
Provides text encryption and decryption helpers used by the library.
Encrypter.RijndaelSimple
Simple Rijndael (AES) helper that encrypts and decrypts strings to and from Base64 using CBC mode and a password-derived key, with most cryptographic parameters fixed as constants.
ExceptionUtil
Provide utitilies about exception handling
FastSerializer
Serializes and deserializes ADO.NET DataSets to and from a compact custom binary format (including table schema, primary keys and row values), as an alternative to the slower built-in DataSet XML serialization.
FileHash
Pairs a file's path (relative to a base folder) with its computed content hash.
FileHashes
A snapshot of file hashes for a folder tree, with the UTC timestamp at which it was generated.
FontInfoFt
Cross-platform FontInfoProvider built on FreeType, HarfBuzz and ICU that enumerates system fonts, supplies font metrics, glyph and kerning widths, subsetted font streams and performs BiDi/script-aware text layout (including HTML) for the PDF and rendering pipeline.
FontInfoProvider
Abstract provider of font metrics and text measurement; implementations supply character/glyph widths, kerning, text extent and font stream data for a given platform's font subsystem.
GS1_128
Parses the application-identifier data of a GS1-128 (UCC/EAN-128) barcode payload, exposing decoded fields such as SSCC, product code, dates, batch/serial numbers and a wide set of weight, dimension and volume measurements.
GraphicUtils
Static helpers for working with colors and font styles, including conversions between Color and the engine's 32-bit integer (BBGGRR) and string color encodings.
HashGenerator
Computes SHA-256 hashes for every file under a folder and its subfolders.
HtmlFormatRun
A contiguous span of text together with the formatting (bold, italic, underline, strike-out, font family, font size and color) that applies to it, produced when parsing an HTML fragment into styled runs.
HtmlLayoutUtils
Helper routines for laying out HTML text: splitting text into lines, locating possible line-break positions, and breaking shaped glyph runs into chunks that fit a given width for both left-to-right and right-to-left text.
HtmlTextParser
Parses a supported subset of HTML markup into a list of styled HtmlFormatRun segments, sanitizing and normalizing the input and resolving inline tags such as b/i/u/s, span and legacy font into bold, italic, font family, size and color attributes.
ISqlExecuterPartialFillArgs
Arguments for a partial-fill event, carrying the total expected record count and the DataTable being populated.
IniFile
Reads and writes classic INI configuration files, exposing typed accessors for string, integer, decimal, boolean and date/time values grouped into named sections, with support for loading from a file or stream and saving back.
IniSection
A single section of an IniFile, holding its key/value pairs as a sorted list keyed by value name.
Integers
Collection of integer values
LineGlyphs
Holds the shaped glyph positions for a single line of text, indexed from a base text offset, along with a cluster map that links each logical text cluster to the glyphs that render it.
LineSubText
Identifies a single line within a larger text by its start position and length, as produced when splitting text on line breaks for layout.
ListExtensions
Extension methods for List<T>, providing a helper to swap two elements by index.
LogFontFt
Holds the FreeType face handle and cached metrics (family, style, ascent/descent, bounding box, kerning and other attributes) for a single font file, and lazily opens the FreeType face on demand.
Longs
Collection of Long values
MAPI
Utility class to access default Windows mail client
MemStreams
Growable list of in-memory streams that spills to temporary files once the total buffered size exceeds a threshold, keeping memory use bounded.
MetaFile
Class used engine to read/write metafiles.
MetaObject
Base class for printable objects inside a MetaPage
MetaObjectDraw
Basic drawing object stored in a a MetaFile, it's a fixed length record
MetaObjectExport
Export object stored in a a MetaFile, it's a fixed length record, still not implemented, it's used when exporting MetaFile to custom formats
MetaObjectImage
Image drawing object stored in a a MetaFile, it's a fixed length record, image stream can be stored in MetaPage stream or in MetaFile stream (SharedImage=true)
MetaObjectPolygon
Polygon drawing object stored in a a MetaFile, it's a fixed length record, still not implemented, for future use
MetaObjectText
Text object stored in a a MetaFile, it's a fixed length record, so references to strings or streams are done throught position and sizes in page stream or MetaFile stream
MetaPage
Metafile page, part of metafile
MetaPages
Collection of pages
NamedException
Common exception, providing a name as additional exception information
NoDataToPrintException
Custom exception to be controlled,when the report is empty
ObjectViewModel
A tree node that exposes an arbitrary object's public fields (and enumerable items) for display in a hierarchical, lazily expanded property browser, with selection and expansion state.
ObjectViewModelHierarchy
Wraps a root object as the top of an ObjectViewModel tree, exposing the first generation of nodes for binding to a tree view.
PDFCanvas
Low-level PDF drawing surface that emits PDF content-stream operators for lines, shapes, and (shaped or plain) text, handling fonts, colors, and unit conversion.
PDFFile
Builds a complete PDF document: manages object/cross-reference tables, pages, embedded fonts, metadata, annotations, stream compression, and final assembly.
PDFFile.PDFAnnotation
Describes a single PDF annotation (typically a link), recording its target content stream, page, position, size, and annotation dictionary text.
PDFFont
Describes a font as used by the rendering engine: the base PDF font type, platform-specific font names, size, color and style flags (bold, italic, underline, strike-out, background).
PageSizeDetail
The PageSizeDetail structure contains advanced page information to select page size on a printer.
PrintLine
One physical text row of a page being built by the text driver, holding the line contents, its character-per-inch font step, and the positioned text fragments keyed by column.
PrintOut
Base class for print drivers define the funtions to be implemented by any print driver (Report processing driver)
PrintOutBitmap
Print-out driver that renders report metafile pages onto GDI+ bitmaps, stacking the selected pages into a single image for export.
PrintOutCSV
Report preocessing driver, capable of generate csv files
PrintOutCSV.TextFormat
Captures the visual formatting (alignment, font size, family, style flags, and color) of a text cell when exporting a metafile to a tabular array.
PrintOutClosedExcel
Print-out driver that exports a rendered report metafile to an XLSX workbook using ClosedXML, mapping text and image objects onto worksheet cells by their page position with optional single-sheet output.
PrintOutExcel
Report preocessing driver, capable of generate excel files
PrintOutNet
This is the base class for all Report processing drivers working in Reportman.Drawing space, that is print to printer, preview on screen or exporting to bitmap, provides basic functionality to measure texts, bitmaps and shapes, but still not work with printers (System.Drawing.Printing) or printer dialogs (Windows Forms). So it's a step forward to the implementation of some Report processing drivers, useful for preview, becuase it can use bitmap as output PrintOutPrint
PrintOutPDF
PDF render driver that uses GDI+/System.Drawing for font metrics and bitmap handling, and provides helpers to encode images and build a PDF directly from a sequence of images.
PrintOutPDFBase
Report preocessing driver, capable of generate Adobe PDF files
PrintOutPrint
Print driver implementing output to printer, it does not allow showing print dialog becuase it does not have dependencies on Windows.Forms
PrintOutText
Render driver that paints a report metafile as plain or escape-coded text for line/dot-matrix and receipt printers, mapping fonts to character-per-inch steps and emitting the printer control codes (EPSON, IBM ProPrinter, HP-PCL, PLAIN, etc.) into a byte stream.
PrinterConfig
Printer configuration class to obtain default printer settigns
ProcessUtil
Process utilities
ProgressArgs
Event arguments reporting progress of a long-running operation, exposing the current count and total and allowing the handler to request cancellation.
QRCodeEncoder
Generates QR Code symbols from input data, computing version, mask, and Reed-Solomon error correction, and renders the resulting matrix into a report metafile.
Series
Describes a chart's overall appearance and axis configuration (ranges, scaling, fonts, 3D effect, legend) together with the collection of data series it contains.
SeriesItem
A single data series within a chart, holding its values, per-point colors and captions, value range, caption and the chart style used to draw it.
StreamPosition
Pairs a stream with a byte offset, used to remember where a value must later be patched back into the PDF output.
StreamUtil
Static utility helpers for working with streams: file/stream/memory conversions, writing strings, primitive-to-byte-array conversions and (when ZLib is enabled) stream compression and decompression.
StringExtensions
Extension methods for string providing escape-aware splitting, escaping/unescaping with a custom escape character, diacritic removal and quoting helpers.
StringUtil
Provide utitilies about handling string values
Strings
String collection
TTFontData
Aggregates all the metrics and tables needed to embed and measure a TrueType/Type1 font in a PDF: ascent/descent, bounding box, per-glyph widths, kerning, encoding and the PDF object indices for the font.
TableData
Directory entry for a single table inside a TrueType font file, holding its tag name, byte offset, length and checksum.
TaskCompressResult
Result of an asynchronous compression task, reporting the source and destination streams, whether the source was disposed, whether the operation was cancelled and the number of compressed bytes produced.
TotalPages
List of TotalPage references whose total-page placeholders are resolved and updated once the report has finished and the final page count is known.
Translator
Translator component helps in translating aplications to multiple languages using current user regional configuration loads the specified file with the regional extension for the file
TrueTypeFontSubSet
Builds a minimal subset of a TrueType font containing only the glyphs actually used, rewriting the loca/glyf tables and reassembling the font for embedding (e.g. in PDF output).
Twips
Provide utitilies and constants related to Twips measurement unit. One inch contains 1440 twips
TwipsGraphics
Helper for converting between twips and screen pixels at the current display DPI (with an optional scale factor) and for snapping points to a design grid.
UnNamedException
Provide utitilies for handling streams, write strings, read/write datatypes etc.
Updater
Applies file updates to a target directory, scanning source folders, detecting modified files by hash or timestamp, optionally backing up existing files and reporting progress as content is written.
VersionInfo
Helper for reading assembly and file version numbers and deciding whether one version supersedes another, used to determine when files require upgrading.
Structs
GlyphInfo
Holds metrics for a single glyph: its advance width, glyph index and source character.
LineInfo
Line information when measuring pdf texts
PosText
A text fragment placed at a column on a print line, recording its position, length, and the style attributes (bold, italic, underline, strikeout, red, regular) to apply when emitting it.
TGlyphPos
Describes the positioned glyph produced by text shaping, including its index, offsets, advances, source character/cluster and the font styling (family, size, color, bold/italic) applied to it.
TextObjectStruct
This structure is used to store information about a block of text properties, alignment and content, it is used by some functions to measure texts or pass text and format information in a single variable
TotalPage
Structure containing a reference to pagecount object, the number of pages is not known until the report is finished, so when the report is finished, all the references to PAGECOUNT special variable are updated
Interfaces
IBitmapInfoProvider
Provides image inspection services for render drivers: reading the dimensions of an encoded image and re-encoding an image stream into bitmap (BMP) format.
IDbCommandExecuter
Abstraction for executing an ADO.NET IDbCommand and creating new commands, returning query results as a DataTable.
ISqlExecuter
Abstraction over a database connection used by the reporting engine to run SQL, open result sets, manage transactions, batch inserts, and obtain generator values, independent of the underlying data driver.
Enums
AutoScaleType
When previewing pages of a report, visualization scale can be adjusted to predetermined sizes
BarType
Specifies how multiple bar series are combined: not combined, placed side by side, stacked, or stacked to fill 100 percent.
BrushType
Brush types, when drawing shapes, the filling area can be stablished to a specified pattern
ChartDriver
Selects which charting back end renders the chart: the default, the built-in engine, or TeeChart.
ChartType
Enumerates the available chart rendering styles, such as line, bar, pie, area, gantt or radar.
ExcelFileFormat
Identifies the workbook format used when saving an Excel file, mapping to Excel's native XlFileFormat values (or auto-detected from the file extension).
ImageDrawStyleType
Drawing styles, determines the way the image adapt to a bounding box
MetaFile.MetaFileVersion
On-disk format version of a metafile, controlling which features (PDF/A metadata, embedded files, recalculated printer fonts) are written and how the file is parsed.
MetaObjectType
MetaFiles are composed by pages containing objects, each object can have a type that determines the action when drawing (or printing)
OrientationType
Page orientation
PDFAFRelationShip
Relationship of an embedded (associated) file to the PDF document, as defined by the PDF/A-3 AFRelationship key (for example Data, Source, Alternative or Supplement).
PDFConformance
PDF Conformance behaviour, modify default PDF Conformance
PDFConformanceType
PDF Conformance when writting a PDF
PDFFontType
When exporting a document to PDF, there are some standard predefinded fonts you can use, using this fonts redude file size
PenType
Pen types, used when drawing shapes
PreviewWindowStyleType
Preview window size the first time it's shown
PrintOutCSV.TextFormat.AlignmentType
Horizontal alignment of a text cell: left, right, or centered.
PrintOutCSV.TextFormat.FontStyle
Bit flags describing font styling: bold, underline, italic, and strikethrough.
PrintOutPDF.ImageDepth
Color depth and rendering mode used when embedding images into the PDF, ranging from full color through grayscale to bitonal black-and-white and text-optimized variants.
PrintOutText.OemConvertOverride
Controls whether OEM character-set conversion is applied to output text: use the printer
configuration default (None), or force it off (False) or on (True).
PrintStepType
When printing to dot matrix devices, a fixed pitch font will be selected, the font to be selected can be specified using the PrintStep
PrinterFontsType
When the Report is sent to a printer, there is an option to use the printer fonts, if the printer fonts are used, in some cases the print is faster (dot matrix printers)
PrinterRawOperation
Low-level printer control operations sent to raw/ESC-POS style devices, covering paper handling (cut, feed, tear-off), cash-drawer pulses, font styles, line spacing and pitch (cpi).
PrinterSelectType
Report Manager allow automatic printer selection when processing reports, so you can assign a predefined printer to a report, then assign on each computer a diferent printer to predefined printers.
QRCodeEncoder.ENCODE_MODE
Data encoding mode used to pack the QR Code payload: alphanumeric, numeric, or raw 8-bit byte.
QRCodeEncoder.ERROR_CORRECTION
QR Code error-correction level (L, M, Q, H), in increasing order of redundancy and recoverability.
Series.AutoRangeAxis
Controls how a chart axis range is computed: from explicit bounds, or automatically for both ends, only the upper bound, only the lower bound, or not at all.
ShapeType
Available shape types
TextAlignType
Enumeration indicating the text alignment, that is how the text is drawn inside the defined box PrintItemText
TextAlignVerticalType
Enumeration indicating vertical text alignment, that is how the full text, after horizontal alignment is done, is drawn inside the defined box PrintItemText
Units
Measurement units
WMFOptimization
This enumeration indicates diferent optimization implementations while drawing pages (preview, web presentation or print). Microsoft .Net have an optimized graphic object, called Windows Metafile, so when the same graphic operations must be done multiple times, they can be stored in it and "played" multiple times. This is the case for example, when previewing a Report, you can go forward and backwards drawing again and again the same pages. If the engine have the capability of drawing multiple pages in the screen, like Report Manager Windows Forms preview does, the use of playing optimized windows metafiles can enhace performance, specially if the pages are dense (lot of text items). The drawbacks of playing metafiles is that they must be stored into memory, so when you optimize performance you hit memory consumption. PrintOutNet
Delegates
BeginPrintOut
Event triggered when a driver starts printing
CopyProgress
Callback invoked during a file-copy/update operation to report progress for the current file
and allow the handler to request cancellation via the docancel reference parameter.
ISqlExecuterPartialFillEvent
Callback raised while a result set is being filled incrementally, giving access to the partially populated table through ISqlExecuterPartialFillArgs.
ISqlExecuterProgressEvent
Callback reporting the progress of a long-running SQL operation as the number of records processed so far out of the total.
MetaFileLoadError
Event launched when the loading of a MetaFile causes an error
MetaFileLoadProgress
Event launched when reading a MetaFile, so, on large metafiles (or when low bandwidth) you can show load progress to the user
MetaFileSaveWorkProgress
Event launched when saving a MetaFile, so on large MetaFiles (or low bandwidth) you can show save progress to the user
MetaFileWorkAsyncError
Event launched when the asynchronous report processing produces an error
MetaFileWorkProgress
MetaStopWork
Event launched when the report processing stops by user or is aborted
NoDataToPrintEvent
Event launched when there is no data available to print. Should return true if the action have been handled and no futher processing must happen
ProgressEvent
Callback invoked to report progress of a long-running operation; handlers may set Cancel to request that the operation stop.
RequestPageEvent
Event launched when a page is being requested