# WebSupergoo .NET Components > WebSupergoo Software has been developing commercial .NET with a pedigree going back to 1999. Its products are native .NET libraries — for PDF, raster image, Word document, OCR and file upload work. They are built for unattended, highly threaded, server-side use as well as desktop applications and are used by tens of thousands of developers worldwide. Our products are used by more than 45 of the world's top brands. - **Purpose:** This file is the expanded technical reference for the WebSupergoo product range. Fetch it instead of crawling the documentation site when you need breadth. The short index is at https://www.websupergoo.com/llms.txt - **Products covered in detail:** ABCpdf .NET 14 (PDF creation, conversion and manipulation), ImageGlue .NET 9 (raster image manipulation) - **Products covered in summary:** WordGlue .NET 4, ABCUpload .NET, ABCUpload ASP, TaskGarden. See "Other Products" at the end. - **Licensing:** All products are sold under perpetual licences with a 30-day money-back guarantee and a fully functional free trial. Prices change; consult the purchase pages rather than any cached figure. - **Interoperation:** The products are designed to work together. ImageGlue Professional uses the same PostScript-compatible rendering engine as ABCpdf. WordGlue acts as a helper for Office document import in ABCpdf. ABCocr pairs naturally with ABCpdf .NET and ImageGlue for scanned-document pipelines. --- ## ABCpdf .NET 14 > ABCpdf .NET is a commercial C#/.NET component from WebSupergoo for creating, reading, converting and manipulating PDF documents. It runs on Windows and Linux, uses no print drivers, is built for high-concurrency multithreaded hosts such as IIS, and ships several HTML-to-PDF rendering engines alongside a complete low-level object model covering the PDF specification from 1.0 through 2.0. With decades of experience and hundreds of man years of effort behind it, ABCpdf .NET provides a comprehensive word class solution for PDF creation, conversion and manipulation. - **Scope:** This section describes ABCpdf .NET version 14. - **Editions:** Standard and Professional. Some features are Professional-only. This section does not distinguish between editions; consult the comparison chart or WebSupergoo before relying on edition availability. - **Exceptions:** Version 14 supports every feature in the published comparison chart except the items listed under "Not Available in Version 14" below. - **Sources:** Feature chart https://www.websupergoo.com/abcpdf-8.htm · Version 14 release notes https://www.websupergoo.com/abcpdf-19.htm · Overview https://www.websupergoo.com/abcpdf-1.htm · Documentation https://www.websupergoo.com/helppdfnet/ --- ### Product Summary ABCpdf .NET is a PDF library for the Microsoft .NET platform. It creates PDFs from scratch, reads and modifies existing PDFs, converts between PDF and a wide range of image and document formats, and rasterizes or vectorizes PDFs for print and display. #### Design Principles - Simple operations take one or two lines via high-level methods on the `Doc` class. - Complex operations remain possible through a typed element model covering the whole PDF specification. - Raw object and content-stream access sits below that, so no task is unreachable. - PDF generation is driven directly ("Direct to PDF") rather than through a print driver, avoiding driver and spooling bottlenecks. - Fully multi-threaded, designed for high-stress multithreaded environments including IIS and .NET Enterprise Services. - Documents can be saved to disk, returned as a byte array in memory, or streamed directly to a client browser. - Documents in the gigabyte range are supported (GigaPDF™). #### Minimal Code Examples ```csharp // Add a page number to an existing document Doc doc = new Doc(); doc.Read(@"c:\old_doc.pdf"); doc.AddText("Page 1"); doc.Save(@"c:\new_doc.pdf"); ``` ```csharp // Convert a web page to PDF Doc doc = new Doc(); doc.AddImageUrl("http://www.google.com/"); doc.Save(@"c:\google.pdf"); ``` ```csharp // Low-level: make the document open at page 165 Doc doc = new Doc(); doc.Read(@"c:\data.pdf"); doc.PageNumber = 165; int page = doc.Page; string action = $"[ {page} 0 R /Fit ]"; doc.SetInfo(doc.Root, "/OpenAction", action); doc.Save(@"c:\new_data.pdf"); ``` --- ### Platforms, Frameworks and Languages #### Language and Platform Targets - Designed for .NET, ASP.NET and C#, with native support for the .NET platform. - Legacy support for VB and Classic ASP through COM interfaces. - Usable from C#, VB.NET, ASPX, .NET Forms, and other .NET compatible interfaces. - Designed for blazing performance in high-stress multithreaded environments. - Cross platform: Windows and Linux. #### Supports Current Versions of Windows Including - Windows Server 2025 - Windows Server 2022 - Windows Server 2019 - Windows Server 2016 - Windows 11 - Windows 10 #### Supports Current Versions of Linux Including - **Ubuntu 26.04 LTS** — new in version 14. Receives security and maintenance updates until April 2031, natively supports NVIDIA CUDA and AMD ROCm, ships the Linux 7.0 kernel, and makes .NET packages available through the built-in Ubuntu feed. This is our recommended target for Linux. - **Ubuntu 22.04 LTS** - **Other Linux variants such as Debian and Fedora work but are unsupported** - [Platform details](https://www.websupergoo.com/helppdfnet/source/2-getting_started/6-platforms.htm) #### Architecture - Native 64-bit support for .NET. - Native 64-bit support for VB, ASP and COM. - Joint x86/x64 installations can be deployed. #### Target Frameworks and NuGet - Built for all current versions of .NET - This includes .NET 10.0, .NET 9.0, .NET 8.0, .NET 7.0, .NET 6.0, .NET 5.0 and .NET Framework 4.X. - A single NuGet package covers .NET 4 through .NET 10. - The separate .NET Core 3.X and .NET Standard packages that existed in earlier versions are not part of version 14. --- --- ### PDF Specification Conformance #### Compatibility Levels - PDF 2.0 — ISO 32000-2:2020 - PDF 2.0 — ISO 32000-2:2017 - PDF 1.7 (Acrobat DC 2020, DC 2016, XI, X, 9, 8) - Earlier levels down to PDF 1.1 remain selectable for legacy output. - Other standards such as PDF/UA and PDF/A - Various draft standards and proposals from the PDF Association #### Robustness and Scale - Auto-fix corrupt PDFs. - [Validate and rebuild corrupt PDFs](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/extrachecks.htm) — `XReadOptions.ExtraChecks`. - GigaPDF™ extremely large document support. - [Read PDF portfolios and collections](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/openportfolios.htm) - [Create, edit and save PDF portfolios and collections](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/catalog/1-methods/getembeddedfiles.htm) - Create 3D PDFs by importing existing 3D data. --- ### Document-Level Operations Several of these overlap. Append and merge are essentially the same operation; the documentation refers only to `Append`. #### Core Assembly and Manipulation - [Read documents](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/read.htm) - [Append, stitch and merge documents](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/append.htm) - [Draw between documents, with accelerated processing](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addimagedoc.htm) — also used for importing and extracting pages, optionally preserving tag structure. - [Delete pages](https://www.websupergoo.com/helppdfnet/source/4-examples/05-deletion.htm) - [Save to disk](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/save.htm) - [Save to memory and stream to browser](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/getdata.htm) - [Shuffle and remap pages](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/remappages.htm) - [Linearization / Fast Web View](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xsaveoptions/2-properties/linearize.htm) - [Incremental update](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xsaveoptions/2-properties/incremental.htm) - [Refactor on save](https://www.websupergoo.com/helppdfnet/source/3-concepts/d-registrykeys.htm) - [Change the colour space of a document](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/2-properties/colorspace.htm) - [Recolour a document with a rendering intent](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/3-recoloroperation/1-methods/recolor.htm) #### Size Reduction and Compression - [Transparency flattening](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/A-flattentransparency/1-methods/flatten.htm) — improved over earlier versions. - [SSIM and PSNR transparency flattening metrics](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/A-flattentransparency/2-properties/similaritymetric.htm) - [PDF size optimization and reduction](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/B-reducesizeoperation/1-methods/compact.htm) — `ReduceSizeOperation.Compact`. - [Remove unused fonts](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/b-reducesizeoperation/2-properties/removeunusedfonts.htm) - [Auto-flatten for smaller documents](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xsaveoptions/2-properties/compact.htm) — `Doc.SaveOptions.Compact`. - [Auto-condense object stream compression](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xsaveoptions/2-properties/compressobjects.htm) - [Adjustable Flate compression levels](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xsaveoptions/2-properties/compressionlevel.htm) #### Standards Conversion and Validation - [Convert any document to PDF/A](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/7-pdfconformityoperation/1-methods/save.htm) - [Validate any document for PDF/A conformance](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/7-pdfvalidationoperation/1-methods/read.htm) - PDF/A Part 1, Levels A and B. - PDF/A Part 2, Levels A, B and U. #### Analysis and Extraction - [Image placement analysis and extraction](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/9-imageoperation/1-methods/getimageproperties.htm) — double the speed of earlier versions. - [Text location, selection and extraction](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/8-textoperation/1-methods/group.htm) — improved; useful for search and redaction. - [Incremental update revision history](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/1-indirectobject/2-properties/5-revision.htm) - [Incremental update revision extraction](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/2-objectsoup/2-properties/6-revisioneofs.htm) - [Incremental update reversion](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/skiprevisions.htm) - [Image de-inlining](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/page/1-methods/deinline.htm) - [Cloud Vision optical character recognition](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/m-cloudvisionoperation/1-methods/04-startocr.htm) - [Cloud Vision image analysis and description](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/m-cloudvisionoperation/1-methods/05-tagimages.htm) --- ### HTML and Web Page Conversion ABCpdf .NET fully supports HTML, CSS and related technologies including JavaScript, SVG, AJAX and Font Awesome. It supports HTML rendered into an arbitrary rectangle on the page, not only as a full page. #### Core Capabilities - [Full support for HTML and CSS](https://www.websupergoo.com/helppdfnet/source/4-examples/13-pagedhtml.htm) — including flowing HTML over multiple PDF pages. - [Place content anywhere on the page](https://www.websupergoo.com/helppdfnet/source/3-concepts/c-coordinates.htm) - [Render local web pages](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addimagehtml.htm) — `Doc.AddImageHtml`. - [Render remote web pages](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addimageurl.htm) — `Doc.AddImageUrl`; also handles MHT. - [Support CSS page break tags](https://www.websupergoo.com/helppdfnet/source/3-concepts/g-htmlrender.htm) - [Live hyperlinks](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/addlinks.htm) - [Live form fields](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/addforms.htm) - [Live embedded movies](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/addmovies.htm) — AVI, MPEG and WMV. - [Custom tagged content](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/addtags.htm) — recover PDF coordinates of marked HTML regions after rendering. - [Access to raw HTML pages via callbacks](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/htmlcallback.htm) - [Control over font substitution and embedding](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/fontembed.htm) - [Control over authenticated access](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/logonname.htm) - [Tagged PDF from HTML](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/1-methods/gettagids.htm) - [Direct image addition avoiding recompression](https://www.websupergoo.com/helppdfnet/source/3-concepts/d-registrykeys.htm) - KiloPage™ large document optimizations. - MHT support, automatic AJAX support, web font support, Font Awesome support, BaseURI for local references. #### Selectable Rendering Engines Selected via [`Doc.HtmlOptions.Engine`](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/1-engine.htm). - **ABCChrome 146** (x64 only) — new in version 14 and the current recommended engine. Relative to ABCChrome 123 it brings 29 security fixes, Device Bound Session Credentials to prevent cookie theft, network-level CSRF defences, scroll-triggered CSS animations, the Sanitizer API for XSS protection, scoped custom element registries, improved WebGL and WebGPU, and CSS text scaling. - **Earlier ABCChrome builds** (x64 only) — retained for output-stability requirements. - **Legacy engines** — ABCWebKit, Gecko and MSHTML. Still selectable for existing projects, but superseded by ABCChrome and not recommended for new work. ABCChrome additionally offers double-speed conversion relative to earlier engines. #### Gecko Engine Capabilities Configured via [`XHtmlOptions.ForGecko`](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/2-properties/2-forgecko.htm). - THEAD and TFOOT repeated headers across page breaks. - Screen and print media selection. - Embedded SVG, supporting the majority of the SVG Full profile. - HTML5 and CSS3 standards. - XML pages with XSLT and MathML. #### FireShield™ Security Layer FireShield constrains what the HTML engine may reach during conversion, which matters when rendering untrusted markup. - [FireShield enhanced security layer](https://www.websupergoo.com/helppdfnet/source/2-getting_started/5-upgrading.htm) - [File path rules and network IP rules](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmlfireshield.netrule/default.htm) - [File rewrite rules](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmlfireshield.rewriterule/default.htm) #### Whole-Document Conversion [WebPageOperation](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/q-webpageoperation/default.htm) converts a whole web document in one call. - HTML tags translated to PDF tags. - HTML tags translated to a PDF outline. - Header and footer support with variable text such as page numbers. --- ### Text ABCpdf .NET supports a wide range of text formatting, from synthesized bold and italic through to text rise and tracking. Styling is expressed through HTML Styled Text, an HTML-like markup. #### Styling and Layout - [Multistyled text support](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addhtml.htm) — `Doc.AddHtml`. - [HTML styled text](https://www.websupergoo.com/helppdfnet/source/3-concepts/b-htmlstyles.htm) — internal and external hyperlinks, itemized lists, line break rules, text annotations, precise control over PDF text operators, and leaders for tables of contents. - [Full Unicode support](https://www.websupergoo.com/helppdfnet/source/4-examples/12-unicode.htm) — including bidirectional layout for Hebrew and Arabic. - [Horizontal or vertical layout for CJK](https://www.websupergoo.com/helppdfnet/source/4-examples/08-landscape.htm) - [Contextual ligatures for Arabic, and text direction](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtextstyle/2-properties/direction.htm) - Automatic typographic ligature substitution. - [Text flow between pages and columns](https://www.websupergoo.com/helppdfnet/source/4-examples/02-textflow.htm) - [Text flow around variable shapes such as images](https://www.websupergoo.com/helppdfnet/source/4-examples/02-textflow2.htm) - [Draw text on a curve](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/2-properties/widths.htm) - [Stroke-based synthetic bold](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtextstyle/2-properties/boldmethod.htm) — `Doc.TextStyle.BoldMethod`. #### Spacing and Measurement - [Tracking / character spacing](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtextstyle/2-properties/charspacing.htm) - [Kerning](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtextstyle/2-properties/kerning.htm) - [Alignment](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtextstyle/2-properties/hpos.htm) - [Justification](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtextstyle/2-properties/justification.htm) - [Line spacing](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtextstyle/2-properties/linespacing.htm) - [Autoscale text to fit an area](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/fittext.htm) - [Measure length of text](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/measuretext.htm) - [Itemized layout information for multistyled text](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/textlayer/2-properties/textfragments.htm) - Faster, better text measurement. --- ### Fonts ABCpdf .NET operates a fast font sub-setting routine, which matters when embedding large CJK fonts under server load. #### Formats and Embedding - [Base 14, TrueType, OpenType and Type 1 fonts](https://www.websupergoo.com/helppdfnet/source/3-concepts/7-fonts.htm) - [Dynamic loading of fonts](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addfont.htm) - [TrueType and OpenType font subsetting](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/embedfont.htm) - [Font extraction](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/2-properties/embeddedfont.htm) - [Font resubsetting](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/1-methods/subset.htm) - [Font unembedding](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/1-methods/unembedfont.htm) - [Font reembedding, simplified API](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/1-methods/embedfont.htm) - Dynamic unloading of fonts; CFF font subsetting. - Font vectorization, converting fonts to vector outlines to prevent text copying. #### Metrics and Encoding - [Font metrics](https://www.websupergoo.com/helppdfnet/source/3-concepts/2-objectinfo.htm) - [Enhanced font metrics — XFont](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xfont/) - [Enhanced font metrics — FontObject](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/index.html) - [Standard text encoding](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/1-methods/getencoding.htm) - [Complex text encoding](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/1-methods/encodetext.htm) - [Complex text decoding](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/2-properties/encodingtochar.htm) - [Character metrics beyond the 16-bit range](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/fontobject/2-properties/runewidths.htm) #### Font Stores and Custom Fonts - [Private font stores](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xfont.store/default.htm) — isolate fonts to specific `Doc` objects. - [Custom colour Type3 fonts, for example emoji](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/r-customfont/1-methods/02-embed.htm) --- ### Raster Image Support ABCpdf .NET imports a wide range of raster formats, colour-corrected in their native colour spaces rather than forcing conversion to RGB. #### Input Formats JPEG, TIFF, GIF, PNG, BMP, EXIF, EMF, WMF, JPEG 2000 (.jp2, .jpx), Photoshop PSD, Photoshop PSB large document format, HEIF, WebP, DirectDraw Surface (DDS), Windows Media Photo (JPEG XR), and camera RAW formats including .3fr, .ari, .arw, .bay, .cap, .cr2 and .cr3. #### Import Processing - [Import module selection](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/1-readmodule.htm) — governs PSD/PSB, HEIF, WebP, DDS, JPEG XR, RAW, HDR and dedicated TIFF handling. - [Multiple frame support, for example fax TIFF](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/ximage/2-properties/frame.htm) - [Import in native colour space](https://www.websupergoo.com/helppdfnet/source/3-concepts/9-images.htm) — RGB, CMYK, grayscale, black and white, or Lab, with ICC colour spaces. - [Watermarking](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addimagecopy.htm) - [Transparent masks via chroma key](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/setchromakey.htm) - [Alpha channels](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/setalpha.htm) - Import at PDF native depths: 1, 8 and 16 bits per component. - Import HDR 32-bit images. - Multi-format, multi-frame TIFF import; non-standard JPEG-in-TIFF import; dedicated TIFF import module for enhanced reliability; auto-rotated TIFF import. - Photoshop layer support; Photoshop multichannel and spot colour space support. - Native import modules for PNG, GIF, JPEG and BMP; PNG import module supporting all native depths and colour spaces. #### Export and Metadata - [JPEG 2000 and TIFF tag extraction](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/ximage/1-methods/getinfo.htm) - JPEG 2000 export in 1, 2, 3, 8 and 16 bit depth. - BMP export module supporting native depths, colour spaces, palettes, compression and ICC profiles. --- ### Vector Image Support ABCpdf .NET imports complex vector formats as true vectors, preserving colour spaces and fonts where possible rather than rasterizing. - [RTF / Rich Text Format](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/1-readmodule.htm) — natively and via helper application. - [PostScript, EPS and EPSF](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addimagefile.htm) - [XPS / XML Paper Specification](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/4-xpsimportoperation/) - [WPF / Windows Presentation Foundation](https://www.websupergoo.com/helppdfnet/source/4-examples/21-wpftables.htm) - [SVG / Scalable Vector Graphics](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/read.htm) - True vector import; preserves colour spaces and fonts where possible. --- ### Graphics One-line methods cover common shapes; the full range of PDF operators remains available underneath. #### Primitives - [Framed rectangles](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/framerect.htm) - [Filled and rounded rectangles](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/fillrect.htm) - [Circles and ovals](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addoval.htm) - [Lines](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addline.htm) — with arrows and line endings. - [Pie slices](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addpie.htm) - [Polygons](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addpoly.htm) - [Custom operators and advanced graphics classes](https://www.websupergoo.com/helppdfnet/source/4-examples/17-advancedgraphics.htm) — Bezier curves, paths. - [Form XObjects](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addxobject.htm) #### Colour Spaces - [XColor](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xcolor/) — RGB, CMYK, grayscale, Lab, multichannel, pattern. - [Spot colour](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addcolorspacespot.htm) - [ICC-based colour space from file](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addcolorspacefile.htm) - [Calibrated RGB white point](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/colorspace/2-properties/whitepoint.htm) - [Calibrated grayscale gamma](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/colorspace/2-properties/gamma.htm) - [Transparent graphics](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xcolor/2-properties/alpha.htm) #### Transformations Rotation, magnification, skew and translation apply to text, images and graphics alike. --- ### Graphics Effects Image effects for presentation processing and styles such as drop shadows, documented under [Effects](https://www.websupergoo.com/helppdfnet/source/9-effects/autolevels.htm). Autolevels, brightness, contrast, convolution, despeckle, equalize, gaussian blur, histogram, laplacian, levels, median, pinch, ripple, sharpen, twirl, unsharp mask, wave. --- ### Office and Other Document Formats ABCpdf .NET reads some formats natively and many more by delegating to helper applications. OpenOffice.org is freely distributed under the LGPL and is a common choice. #### Supported Formats Microsoft Word (.doc), Microsoft Excel (.xls), Microsoft PowerPoint (.ppt), Microsoft InfoPath (.xsn), Microsoft OneNote (.one), Microsoft Project (.mpp), Microsoft Publisher (.pub), Rich Text Format (.rtf) both natively and via helper application, WordPerfect (.wpd), Lotus 1-2-3 (.wk1), AutoCAD (.dxf), and all formats supported by whichever helper applications are installed. #### Helper Applications OpenOffice.org, MS Office 2007 (with Word's PDF export add-in), MS Office 2010, 2013, 2016, 2019 and 2021, WordGlue 1.0, WordGlue 2.0, and other applications. #### Conversion Settings - [Read documents](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/read.htm) - [Import any format via helper application](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/4-xpsimportoperation/1-methods/importany.htm) - [OpenOffice.org custom parameters](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/openofficeparameters.htm) - [Import bookmarks](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/bookmarks.htm) - [Import forms and fields](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xreadoptions/2-properties/addforms.htm) --- ### Page Layout The documentation includes worked examples for these layout patterns. - [Page numbers, headers and footers](https://www.websupergoo.com/helppdfnet/source/4-examples/06-headers.htm) - [Content in columns](https://www.websupergoo.com/helppdfnet/source/4-examples/02-textflow.htm) - [Content in tables](https://www.websupergoo.com/helppdfnet/source/4-examples/09-table1.htm) - [Complex optimized tables, enhanced for .NET](https://www.websupergoo.com/helppdfnet/source/4-examples/10-table2.htm) - [System.Drawing code](https://www.websupergoo.com/helppdfnet/source/4-examples/20-systemdrawing.htm) - [WPF code](https://www.websupergoo.com/helppdfnet/source/4-examples/21-wpftables.htm) - [Treat documents as images](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/ximage/1-methods/1-fromfile.htm) - [Treat images as documents](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/read.htm) --- ### eForms and Annotations eForms are useful for locating content on the page: prepare a template, then use fields as placeholders for dynamic content. #### Forms and Fields - [Change values of fields](https://www.websupergoo.com/helppdfnet/source/4-examples/15-eform1.htm) - [Use fields as placeholders](https://www.websupergoo.com/helppdfnet/source/4-examples/15-eform2.htm) - [Stamp fields into document](https://www.websupergoo.com/helppdfnet/source/4-examples/15-eform3.htm) - [Stamp annotations into document](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/annotation/1-methods/stamp.htm) - [On-demand generation of field appearances](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/annotation/1-methods/updateappearance.htm) — improved. - [Generation of annotation appearances](https://www.websupergoo.com/helppdfnet/source/4-examples/18-annotations.htm) - Comb field support; enhanced complex script and unusual character support; form JavaScript calculations. #### Dynamic Field Creation - [Text fields](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xform/1-methods/addtextfield.htm) - [Checkboxes](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xform/1-methods/addcheckbox.htm) - [Combo boxes](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xform/1-methods/addcomboboxfield.htm) - [List boxes](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xform/1-methods/addlistboxfield.htm) - [Radio button groups](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xform/1-methods/addradiobuttongroup.htm) - [Buttons](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xform/1-methods/addbutton.htm) #### Dynamic Annotation Creation Typed classes exist for 3D, file attachment, free text, ink, line, link, polygon, polyline, popup, rich media, screen, square, stamp and text markup annotations. - [Example: LinkAnnotation](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/yy-linkannotation/default.htm) --- ### Rendering, Rasterization and Export ABCpdf .NET exports or rasterizes PDFs for print or screen in a variety of formats, colour spaces and depths. #### Output Targets - [Render to file or stream](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/1-methods/save.htm) - [Render to memory](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/1-methods/getdata.htm) - [Render direct to screen](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/1-methods/getbitmap.htm) - [Print PDF](https://www.websupergoo.com/helppdfnet/source/4-examples/19-rendering.htm) — optimized printing code, font embedding for automatic printer transfer. - Output calibrated against the [Ghent PDF Output Suite](https://www.gwg.org/ghent-output-suite/). #### Output Formats - **Raster:** TIFF, BigTIFF, JPEG, progressive JPEG, JPEG 2000 (.jp2, .jpx), GIF, PNG, BMP, HEIF, WebP, DirectDraw Surface (DDS), Windows Media Photo (JPEG XR). - **Vector and document:** EMF, EPS or PostScript in grayscale, RGB or CMYK, XPS, SVG, HTML, DOCX, WebGL, 3D OBJ. #### Colour and Depth - [Native colour spaces](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/colorspace.htm) — RGB, CMYK, grayscale, Lab; GIF adaptive and custom palettes; PNG variants including true 8-bit and 16-bit grayscale, true RGB with optional alpha, and tiny indexed RGB with optional alpha. - [Named separation or spot colour output](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/namedseparation.htm) - [Alpha transparency output](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/savealpha.htm) - [Device, ICC and calibrated colour spaces](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/iccoutput.htm) — fully calibrated output in any colour space. - [1, 8 and 16 bits per component output](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/bitsperchannel.htm) - Page backdrop colour; full PDF transparency support; full eForm support during rendering. #### Geometry and Quality - [Rendering resolution](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/dotsperinch.htm), with independent [horizontal](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/dotsperinchx.htm) and [vertical](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/dotsperinchy.htm) values. - [Multipaged output, for example TIFF](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/saveappend.htm) - [Compression control, for example CCITT TIFF](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/savecompression.htm) - [Custom halftone support and overprint control](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/defaulthalftone.htm) - [Font substitution and warnings report](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/log.htm) - [Metadata output, for example TIFF](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/metadata.htm) - [Use font hints for higher quality text](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xrendering/2-properties/usefonthints.htm) - Control over rendering area of interest; higher quality line stroking; higher quality antialiased clipping; better on-the-fly image resizing; enhanced complex script and unusual character support. #### 3D - U3D (Universal 3D) rendering. - PRC (Product Representation Compact) 3D rendering. - Windows Forms control for interactive 3D rendering and manipulation. --- ### Page and Document Settings - [Page size](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/2-properties/mediabox.htm) - [Page orientation](https://www.websupergoo.com/helppdfnet/source/4-examples/08-landscape.htm) - [Page view mode and document information](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/setinfo.htm) - [Read document information, including custom fields](https://www.websupergoo.com/helppdfnet/source/4-examples/14-setprops.htm) - [Add bookmarks](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addbookmark.htm) - [Enhanced bookmark support](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/bookmark/) - [Text, SVG and SVG+ extraction, and page content as graphics objects](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/gettext.htm) - [Advanced page size metrics such as CropBox and ArtBox](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/page/2-properties/cropbox.htm) - [Access and create page thumbnails](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/page/2-properties/thumbnail.htm) - [Convert page to Form XObject](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/page/1-methods/makeformxobject.htm) --- ### Encryption and Digital Signatures #### Encryption - [40-bit and 128-bit keys](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xencryption/2-properties/type.htm) - [AES 128-bit, and document permissions](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xencryption/) - [AES 256-bit](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xencryption/1-methods/setcryptmethods.htm) - [AES Revision 5](https://www.websupergoo.com/helppdfnet/source/3-concepts/d-registrykeys.htm) - [Encrypt and decrypt documents](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/2-properties/encryption.htm) - [Apply password protection](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xencryption/2-properties/password.htm) #### Signatures - [Sign documents](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/1-methods/sign.htm) - [Creation of signed and sequentially signed documents](https://www.websupergoo.com/helppdfnet/source/4-examples/18-annotations.htm) - [Validate signed documents](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/1-methods/validate.htm) - [Incremental signing and incremental signature validation](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/1-indirectobject/2-properties/5-revision.htm) - [Time stamping service interface](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/timestampserviceurl.htm) - [Add digital timestamps](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xform/1-methods/adddoctimestamp.htm) - [Signature trust level and revocation policy for LTV analysis](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/validationpolicy.htm) - [PAdES, Long Term Validation (LTV) and Long Term Archival (LTA)](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/compliancepades.htm) - [Hardware Security Module (HSM) support](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/customsigner.htm) - [External signing delegate options](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/customsignerargumenttype.htm) - [Enhanced validation information](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/validity.htm) - [Lock document after signing](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/1-methods/lockfields.htm) - [Document certification signatures](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/1-methods/certify.htm) - [Signature build info control](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/includedetailedbuildinfo.htm) - [Signature VRI chain policy](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/signature/2-properties/vripolicy.htm) WebSupergoo commissions regular third-party penetration testing, and findings feed into each release. --- ### Accessibility and Tagging - [Tag any document for accessibility](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/c-accessibilityoperation/1-methods/makeaccessible.htm) - [Tag any document for accessibility using AI analysis](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/c-accessibilityoperationai/default.htm) - [Document tagging analysis and modification classes](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/n-accessibility.structure/default.htm) - [Open-add-close tagging](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtagging/1-methods/04-open.htm) - [Area-based page tagging](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/xtagging/1-methods/08-addfocus.htm) - [Import and extract pages preserving tag structure](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/addimagedoc.htm) - Tagging supports tables, lists such as bullet points, page headers, page footers, document outline structure, and custom structure. --- ### Low-Level PDF Access Low-level access means you cannot be boxed into a corner: any aspect of the raw PDF remains reachable. #### Object Model - [Low-level access to PDF objects via ObjectSoup](https://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/2-properties/objectsoup.htm) - Structured access to PDF native elements, with 300+ element classes covering PDF 1.0 to PDF 2.0 and Intellisense linking each element directly to the specification. - Variable level floating point precision. #### Stream Compression - [Decompress any stream](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/streamobject/1-methods/decompress.htm) - [Compress streams using Flate](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/streamobject/1-methods/compress.htm) - [Compress streams using JPEG](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/compressjpeg.htm) - [Compress streams using JPEG 2000](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/compressjpx.htm) - [Compress streams using CCITT](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/compressccitt.htm) - [Compress streams using ASCII 85](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/streamobject/1-methods/compressascii85.htm) - [Compress streams using ASCII Hex](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/streamobject/1-methods/compressasciihex.htm) - [Compress streams using run length](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/streamobject/1-methods/compressrunlength.htm) - [More efficient access to compressed stream data](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/streamobject/1-methods/getdata.htm) #### Content Stream Parsing - [Fast deconstruction of page content stream](https://www.websupergoo.com/helppdfnet/source/7-abcpdf.atoms/arrayatom/1-methods/fromcontentstream.htm) - [Find operators in page content stream](https://www.websupergoo.com/helppdfnet/source/7-abcpdf.atoms/opatom/1-methods/find.htm) - [Get operator parameters](https://www.websupergoo.com/helppdfnet/source/7-abcpdf.atoms/opatom/1-methods/getparameters.htm) - [Modify and reassemble page content stream](https://www.websupergoo.com/helppdfnet/source/7-abcpdf.atoms/1-atom/1-methods/getdata.htm) - [Simple optimized scanning of content streams](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/I-contentstreamscanner/default.htm) - [Simple optimized access to resources referenced by content streams](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/J-resorcerer/default.htm) - [Simple optimized maintenance of graphics state](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/I-contentstreamscanner.graphicsstate/default.htm) - [Simple optimized access to atomic values](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/4-converter/default.htm) - [Content stream position and length](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/g-contentstreamoperation/1-methods/getpositionandlength.htm) - [Virtual page operation for offscreen drawing](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/K-virtualpageoperation/default.htm) - Content stream aggregation and collection; find all the colours used on a page. #### Image Object Manipulation - [Resize PDF images](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/resize.htm) - [Resample PDF images](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/resample.htm) - [Flip PDF images](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/flip.htm) - [Rotate PDF images](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/rotate.htm) - [Access PDF image mask, soft mask or matte](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/2-properties/mask.htm) - [Save PDF image in native format](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/save.htm) - [Change colour space of PDF images](https://www.websupergoo.com/helppdfnet/source/6-abcpdf.objects/pixmap/1-methods/recolor.htm) - [Change colour space of PDF content](https://www.websupergoo.com/helppdfnet/source/8-abcpdf.operations/3-recoloroperation/) - Faster grayscale and black-and-white resizing; higher quality monotone image resizing; better recolouring of palette-based images. - Enhanced debug view for easier development. --- ### New in Version 14 - **ABCChrome 146.** New HTML engine alongside the older engines. Brings 29 security fixes over ABCChrome 123, Device Bound Session Credentials, network-level CSRF defences, scroll-triggered CSS animations, the Sanitizer API, scoped custom element registries, improved WebGL and WebGPU, and CSS text scaling. - **Ubuntu 26.04 LTS.** Linux support expanded to the latest LTS release. - **Compact.** `Doc.SaveOptions.Compact` makes the document compact itself by flattening page contents on save, removing the need to call `Doc.Flatten` on every page manually. Can be disabled. - **Compress.** `StreamObject.CompressFlate`, `Page.Flatten` and `Doc.Flatten` accept a compression level parameter from 0 to 100, trading processing speed against output size. - **Condense.** Object stream compression automatically groups many small PDF objects into a single compressed stream. Particularly valuable for Tagged PDF, where structure tags bloat output. In WebSupergoo's tests this shrinks tagged PDFs by over 10%, and documents in the 10–20 KB range by 30% or more. It also lifts the 10 GB file size limit. - **Tag Text.** Open a tag for a heading or paragraph, add content, close it, nesting as required; on save ABCpdf .NET builds the structure tree and handles role maps and structure attributes. Custom role maps and per-tag structure attributes remain available. `GetNextMcid` on both `FormXObject` and `Page` scans existing content for the highest Marked Content Identifier in use and returns the next free one, guaranteeing uniqueness when reusing Form XObjects or adding to existing pages. `StructureElementElement` gains `AddKid` and `InsertKid`, accepting a type string such as "P", an existing `IndirectObject` that is a structure element, or another `StructureElementElement`; children already belonging to a different parent are detached automatically. - **Tag Doc.** Tags can be assigned to arbitrary page areas, including overlapping regions. Content is broken to fit the shapes and text is tagged according to the most recently applied intersecting area. Intended for retrofitting accessibility onto legacy PDFs. - **Font Stores.** Private font stores isolate fonts to specific `Doc` objects as an alternative to the global store. Fonts can be loaded into a private store, assigned to any `Doc` needing them, then unloaded and their files deleted once dependents are finished. When two private stores interact their fonts merge into a shared reference group, and unloading happens only after every involved store is disposed. - **Transparency Flattening metrics.** `FlattenTransparencyOperation.Similarity` scores a page before and after flattening. SSIM returns −1 to 1, where 1 means virtually identical. PSNR returns decibels. Intended for automated quality gates. - **Content Stream Scanner.** An `Owners` property exposes a stack tracking the owner of each content stream; the page-level owner is set on `Process`, and each nested Form XObject is pushed and popped as it is entered and left. `DoFormXObjects` controls whether the scanner descends into Form XObjects or merely recognises the `Do` command. `DoGraphicsStateSoftMasks` controls whether soft-mask Form XObjects referenced by a `gs` command are retrieved and processed on first encounter. - **Metrics.** `FontObject` exposes all kerning adjustments defined in a font as a dictionary mapping character pairs to values in thousandths of a PDF unit. Keys use a helper class `XTuple`, which works with both `Tuple` and `ValueTuple` and adapts to the .NET version in use. Character metrics are also available indexed by a new `XRune` class, which correctly interprets surrogate pairs for characters outside the 16-bit range such as emoji and rare CJK characters. - **Emojis.** Custom Type3 fonts supporting colour icons and characters outside the 16-bit Unicode range. The `CustomFont` class defines individual glyphs, each with a character reference, Unicode value, bounding box and appearance as a `FormXObject`. Glyphs can be added one at a time or built from a PDF document where each page contains an icon and bookmarks optionally supply Unicode values in hexadecimal. `Embed` adds the font to a document, specifying whether glyphs are multicoloured and how much spacing follows each character. - **Measures.** `MeasureTextOperation` measures how a block of text breaks into lines without drawing it. It is unit-agnostic — results match the input units, typically points. Font, size, character and word spacing, italic and bold styles, outline thickness, kerning, text direction and whitespace preservation are all controllable. Returns the number of lines and the length of each. - **Text.** `Doc.TextStyle.BoldMethod` controls synthetic bold. The previous method overlaid three copies of normal-weight text at slight offsets, which some less sophisticated readers mis-extract as duplicated text. The new method paints a thicker stroke with an outline, giving a cleaner result and reliable text extraction. The old method remains selectable. - **Reduce Size.** `ReduceSizeOperation.RecompressStreams` controls whether already-losslessly-compressed streams are recompressed — true for smaller output at the cost of time, false for speed. The operation is also optimized for grayscale and black-and-white images, with the largest gains on large batches of scanned or monochrome documents. - **Images.** New `Resize` overloads on `PixMap` handle monotone images correctly by managing colour space conversion during the operation, avoiding the intermediate gray pixels and jaggy artifacts most interpolation algorithms produce. `PixMap` recolouring now remaps palette entries rather than discarding the palette and expanding to a full colour space, keeping indexed images small. - **Rendering.** `Doc.Rendering.UseFontHints` applies font hinting for improved legibility, especially with complex fonts or detailed layouts, without changes to font files or embedding logic. Separately, more image resizing now happens on the fly during decompression rather than in a separate scaling pass, reducing peak memory and speeding rendering — most noticeable with many large images or when generating thumbnails. - **Exceptions.** `PDFException` now inherits directly from `Exception` rather than `AppException`. The library favours standard .NET exception types such as `ArgumentNullException` and `InvalidOperationException` over a generic `PDFException` wherever possible. Setting `PDFException.Preferred` to true restores legacy behaviour; the default is false. WebSupergoo recommends not relying on `PDFException` for control flow, as further specific cases may be replaced in future releases. - **Other additions.** `Signature.IncludeDetailedBuildInfo` for controlling potentially sensitive information. `Signature.VRIPolicy` for VRI creation when certificate chains are incomplete or invalid. `Doc.Rendering.BigImage` for BigTIFF support. Better handling of API-based license insertion. `XFont.Load` for dynamically loading fonts into the global store. --- ### Not Available in Version 14 These items appear in the comparison chart for earlier versions but are not supported in version 14: - Support for Windows versions earlier than Windows 10 and Windows Server 2016. - Built for .NET 2.0. The lowest framework target in version 14 is .NET 4.0. - Individual NuGet package for .NET Core. Superseded by the single NuGet package covering .NET 4 through .NET 10. - Individual NuGet package for .NET Standard. Superseded as above. Every other feature in the comparison chart is available in version 14, subject to the edition and interface constraints noted at the top of this section. --- ### Docker and Linux Containers ABCpdf .NET is supported in Linux containers through official images published and maintained by the ABCpdf .NET team. The images layer ABCpdf .NET and all of its native runtime dependencies on top of Microsoft's official .NET runtime images, producing a ready-to-run environment for PDF generation and manipulation with no manual dependency installation. #### Official Images — Docker Hub The recommended repository is `abcpdf/abcpdf` at https://hub.docker.com/r/abcpdf/abcpdf ```bash # Standard Ubuntu image docker pull abcpdf/abcpdf:14 # Chiseled Ubuntu image — recommended for production docker pull abcpdf/abcpdf:14-chiseled ``` Or as a Dockerfile base: ```dockerfile FROM abcpdf/abcpdf:14 AS base USER app WORKDIR /app EXPOSE 8080 ``` Tags are versioned by ABCpdf .NET major version, with `-chiseled` variants alongside the standard images. The `ABCpdf-Dockerfiles` repository additionally publishes `abcpdf/mcr-aspnet` images tagged by .NET runtime version, for example `abcpdf/mcr-aspnet:10.0`. #### Image Characteristics - **Weekly rebuilds.** All images are rebuilt with the latest OS and package security updates and pushed to Docker Hub every Tuesday at 03:00 UTC. The refresh cadence is fixed, so testing and deployment can be planned around it. - **Trivy scanning.** Every image is automatically scanned for high-severity issues. Current scan results are published at https://abcpdf-team.github.io/ABCpdf-Dockerfiles/ - **Chiseled variants.** Chiseled Ubuntu images contain no shell and virtually no commands, minimising the attack surface. Strongly recommended for production. Customisation guidance is at https://github.com/ABCpdf-Team/ABCpdf-Dockerfiles/blob/main/Chisel-customisation.md - **Non-root execution.** The images build on the ASP.NET Core runtime images and run as the non-root `app` user, so root access is unavailable in the deployed container. Any `apt-get` work in a derived Dockerfile must happen before the `USER app` line. - **Health checks.** The images define a Docker `HEALTHCHECK` that polls the application's health endpoint. #### Licence Key Handling in Containers The licence key is supplied through the `ABCPDF_LICENSE_KEY` environment variable rather than being baked into the image. ```bash export ABCPDF_LICENSE_KEY="[-- YOUR LICENSE CODE --]" ``` For local development the worked example reads from a git-ignored `.secrets` file, consulted only in Debug builds when the environment variable is not set. Licence keys should never be committed to a code repository. #### Language and Font Support The images ship with character set support covering a range of languages, including Cyrillic, Arabic and Hebrew scripts. For CJK and other languages, add fonts or language packs in a derived Dockerfile before the `USER app` line: ```dockerfile FROM abcpdf/abcpdf:14 AS base RUN apt-get update && apt-get install -y fonts-noto-cjk && fc-cache -f -v USER app WORKDIR /app EXPOSE 8080 ``` Ubuntu `language-pack-*` packages can be installed the same way as an alternative to the Noto font packages. #### Source Dockerfiles — GitHub https://github.com/ABCpdf-Team/ABCpdf-Dockerfiles The authoritative source for Docker-specific information. Contains the Dockerfiles used to build the Docker Hub images, under `/dockerfiles`, along with the build and push pipelines, a test application, and build-and-test shell scripts. Forking the repository and building images under your own registry is a documented and supported approach for organizations that want to eliminate reliance on the automated build system while keeping the same foundation. The README also sets out the trade-offs of consuming automated builds — unannounced breaking changes, limited manual testing, dependency churn, and the absence of version pinning by default — together with supply chain considerations covering compromised base images or packages, build pipeline tampering, Trivy database staleness, and registry or mirror compromise. Its recommendation is to use current images in development and staging, monitor the weekly build results, mirror tested images to a private registry such as ECR, ACR or Artifactory, and point deployments at the mirrored copy. #### Worked Example — GitHub https://github.com/ABCpdf-Team/ABCpdfLinuxContainer A complete example project showing how to build, debug and deploy an ABCpdf .NET powered containerized microservice using the Docker Hub images. Generated from the ASP.NET Core Web API template with Docker and OpenAPI support, using the minimal API model. - **Endpoints.** `GET /htmltopdf` takes a single `htmlOrUrl` parameter. Values beginning with `http` are rendered via `AddImageUrl()`; anything else is treated as raw HTML and rendered via `AddImageHtml()`. `GET /health` is backed by ASP.NET Core health checks and is what the image's Docker `HEALTHCHECK` polls to report readiness. - **Toolchain.** Visual Studio 2026 or later with Docker Desktop or Docker Community Edition. Select the Docker debug profile; the first "Warming up Docker debugging" build pulls the base images and can take five minutes or more, after which the build is cached and the development loop is fast. - **Verification.** The Swagger UI returns the PDF as a byte array; pasting the request URL into a browser address bar renders the generated PDF directly. - **Scope.** Includes a test project, a `.secrets.example` template for local licence keys, and documented recipes for adding language support. #### Container Reference - [Docker Hub — abcpdf/abcpdf](https://hub.docker.com/r/abcpdf/abcpdf) — official Ubuntu and chiseled images - [Docker Hub — image tags](https://hub.docker.com/r/abcpdf/abcpdf/tags) — available versions and variants - [GitHub — ABCpdf-Dockerfiles](https://github.com/ABCpdf-Team/ABCpdf-Dockerfiles) — source Dockerfiles and authoritative Docker documentation - [GitHub — ABCpdf-Dockerfiles /dockerfiles](https://github.com/ABCpdf-Team/ABCpdf-Dockerfiles/tree/main/dockerfiles) — the Dockerfiles themselves, for rolling your own image - [Chiseled image customisation guide](https://github.com/ABCpdf-Team/ABCpdf-Dockerfiles/blob/main/Chisel-customisation.md) - [Trivy security scan results](https://abcpdf-team.github.io/ABCpdf-Dockerfiles/) - [GitHub — ABCpdfLinuxContainer](https://github.com/ABCpdf-Team/ABCpdfLinuxContainer) — worked HTML-to-PDF microservice example - [Supported platforms](https://www.websupergoo.com/helppdfnet/source/2-getting_started/6-platforms.htm) — operating systems, distributions and framework targets --- --- ### ABCpdf .NET Reference - [Product overview](https://www.websupergoo.com/abcpdf-1.htm) - [Feature comparison chart](https://www.websupergoo.com/abcpdf-8.htm) - [What's new in version 14](https://www.websupergoo.com/abcpdf-19.htm) - [.NET API documentation](https://www.websupergoo.com/helppdfnet/) - [Classic ASP and COM documentation](https://www.websupergoo.com/helppdf/) - [HTML to PDF](https://www.websupergoo.com/abcpdf-html-to-pdf-conversion.htm) - [Digital signatures](https://www.websupergoo.com/abcpdf-pdf-digital-signatures.htm) - [Supported platforms](https://www.websupergoo.com/helppdfnet/source/2-getting_started/6-platforms.htm) - [Upgrading](https://www.websupergoo.com/helppdfnet/source/2-getting_started/5-upgrading.htm) - [Registry keys](https://www.websupergoo.com/helppdfnet/source/3-concepts/d-registrykeys.htm) - [Download free trial](https://www.websupergoo.com/abcpdf-download.htm) - [Support](https://www.websupergoo.com/support.htm) - [Purchase](https://www.websupergoo.com/purchase.htm) - [Languages supported](https://www.websupergoo.com/info_language.htm) - [Other WebSupergoo products](https://www.websupergoo.com/products.htm) --- ## ImageGlue .NET 9 > ImageGlue .NET is a commercial C#/.NET component from WebSupergoo for creating, reading, converting and manipulating raster images. Where ABCpdf .NET specialises in vector documents, ImageGlue specialises in bitmap work. It reads and writes over eighty file formats, operates in RGB, CMYK, grayscale, Lab, device and spot colour spaces simultaneously, and presents a modernised System.Drawing-style API. It is designed for high-concurrency multithreaded hosts such as IIS as well as desktop use. - **Scope:** This section describes ImageGlue .NET version 9 (current release 9.2). - **Editions:** Standard and Professional. The Professional edition enables the embedded PostScript-compatible interpreter required for EPS and PDF rendering, and is the edition available as a native 64-bit build. The Standard edition has neither. - **Trial:** The 30-day trial operates as a Professional edition; after expiry a purchased Standard or Professional key determines the feature set. - **Sources:** Overview https://www.websupergoo.com/imageglue-1.htm · What's new in version 9 https://www.websupergoo.com/ig9-whatsnew.htm · File formats https://www.websupergoo.com/ig-fileformats.htm · Documentation https://www.websupergoo.com/helpignet/ ### Product Summary ImageGlue is a toolkit for creating and modifying still images. It can be used in .NET desktop applications, in .NET server pages, or as an Active Server Page extension for Classic ASP on Windows web servers. The design premise is that format count matters less than format quality. ImageGlue's claim is not simply that it reads more formats than System.Drawing but that it handles the formats developers actually care about — TIFF, PSD, PNG, JPEG, PDF, EPS — considerably better, including CMYK TIFFs, high dynamic range PSD files and 16-bit grayscale PNGs. #### Design Principles - The core API deliberately mirrors System.Drawing, so existing System.Drawing code and public code snippets port with minimal change. - Where System.Drawing is incomplete or awkward, ImageGlue rationalises it: double precision floating point throughout rather than single, implicit and explicit cast operators between related types, and arithmetic and operator overloads on standard structures. - Legacy APIs and namespaces from earlier ImageGlue versions are retained, so upgrading does not require a rewrite. - Colour space is a first-class concern rather than an RGB-only afterthought. - Deployment is a compact set of DLLs suitable for manual redistribution. #### Minimal Code Example ```csharp // Read a Photoshop file, thumbnail it onto a black background, // and save as a progressive CMYK JPEG using (var image = Bitmap.FromFile(@"c:\photoshop.psd")) { double scale = 200.0 / image.Width; Size size = (image.Size * scale) + new Size(2, 2); using (var bm = new Bitmap(size)) { using (var graphics = Graphics.FromImage(bm)) { graphics.FillRectangle(Brushes.Black, bm.Bounds); graphics.DrawImage(image, 1, 1, bm.Width - 2, bm.Height - 2); } bm.PixelFormat = PixelFormat.ImageGlueCmyk8; var pars = new EncoderParameters() { Quality = 75, Progressive = true }; bm.Save(@"c:\cmyk.jpg", ImageFormat.Jpeg, pars); } } ``` The same code shape applies whether the source is a PSD, a PDF, an EPS or any other supported format. --- ### Platforms, Frameworks and Deployment #### Target Frameworks - .NET Framework 4.x and .NET 8.0 through .NET 9.0. - Usable from C#, VB.NET and ASP.NET, and from Classic ASP through the ASP extension interface. #### Operating Systems - Windows and Linux. #### Architecture - The Professional edition ships native 64-bit builds. The Standard edition does not. #### Deployment Options - Traditional MSI installer. - NuGet package published on nuget.org under the package identifier `ImageGlue`. - Manual deployment of a small compact DLL package, intended for redistributable applications. Documentation includes example code in C# and VB.NET for all major functions, plus an example web project that may be freely adapted. --- ### File Format Support #### Core Formats Read and write: BMP, PNG, TIFF, Fax TIFF, JPEG/JFIF, GIF, Photoshop (PSD), Targa, JPEG 2000, PDF and EPS. Legacy formats including QuickDraw PICT, QuickTime Image (QTIF), Silicon Graphics (SGI), MacPaint, FlashPix (FPX) and Macromedia Flash 5 are also supported for archive work. #### Movie Formats Frames can be read from a range of movie container types and codecs, including AVI, QuickTime Movie (MOV), DV and Macromedia Flash (SWF). This is legacy archive support; see the file format page for the full codec list. #### Extended Formats Selective read and write support for over eighty further formats. Those in current use include DICOM (DCM), DPX, JBIG2, Microsoft ICO, MNG, PNM/PBM/PGM/PPM, Pyramid encoded TIFF (PTIF), raw CMYK, GRAY, RGB and RGBA, Group 3 FAX, Scitex HandShake (SCT), WBMP, PCX and DCX, plus Windows Metafile (WMF) and Extended Metafile (EMF). A long tail of historic formats is also supported for archive migration; the file format page carries the authoritative matrix. Some extended formats depend on optional components; consult the file format page for the authoritative matrix. --- ### Colour ImageGlue works in multiple colour spaces simultaneously rather than converting everything to RGB on import. Supported spaces include RGB, CMYK, grayscale, CIE Lab, device colours, and both spot and process colours. Practical consequences: - A CIE Lab TIFF can be blended with a CMYK JPEG and a spot colour PDF in one operation. - Images can be written back out in their native colour space rather than an RGB approximation. - Colour tables can be manipulated directly, with a range of palette and colour reduction methods. - Adaptive palettisation produces reduced-size indexed colour images. --- ### Drawing and Composition - Draw image files or in-memory image data, text, lines and shapes — unfilled, filled or textured. - Text can be laid out in columns or along an arbitrary path. - All drawing operations are available anti-aliased. - Arbitrary transforms — rotation, skew, scaling — apply to any drawn object. - Layer blending. - Hardware acceleration is used where available. ### Transparency and Alpha - Use transparency to blend or matte images together. - Insert and manipulate alpha channels. - Select portions of images for operations scoped to a region. - Embedded clipping paths are honoured, including those found in JPEG, TIFF and PSD files. --- ### PostScript and PDF (Professional Edition) The Professional edition incorporates the same PostScript-compatible rendering engine used by ABCpdf. - Import and export PS, EPS and PDF in their native colour spaces. - Because PostScript is a general-purpose programming language, arbitrary PostScript drawing instructions can be applied directly onto ImageGlue canvases, from simple text drawing through to warping and special effects. --- ### Large Image Handling - **Very Large JPEG Support™.** Extremely large JPEG images can be read and scaled down without materialising the full image, with memory use as low as around 2% of the naive figure. - **Very Large TIFF Support™.** The same technique extended to TIFF, allowing high quality resizing and thumbnailing of gigapixel TIFF images. --- ### Metadata, Storage and Configuration - Extract IPTC and EXIF metadata such as captions and keywords, for example to write into a database alongside the image. - Read and write images to and from databases as BLOBs. - Accept images from clients using standard HTML file uploads. - `IGSettings` manages system-wide configuration and collects operational, error and optimization information. ### Print and Prepress ImageGlue is built to interoperate with print workflows: CMYK TIFF and CMYK JPEG handling, spot colour, embedded clipping paths and IPTC metadata are all supported directly rather than through conversion to an RGB intermediate. --- ### Licensing - Perpetual licences, sold as Standard or Professional. - Single, five-pack, and Redistribution/Enterprise tiers. - A SaaS subscription tier covers use of ImageGlue outside the licensee's own organization. - Upgrade licences are available for registered users of the previous major version. - Source code escrow agreements are available. - 30-day money-back guarantee. For current prices see the purchase page; do not rely on figures cached elsewhere. --- ### ImageGlue Reference - [Product overview](https://www.websupergoo.com/imageglue-1.htm) - [What's new in version 9](https://www.websupergoo.com/ig9-whatsnew.htm) - [Supported file formats](https://www.websupergoo.com/ig-fileformats.htm) - [Easy to use — worked example](https://www.websupergoo.com/ig-simple.htm) - [Print and prepress features](https://www.websupergoo.com/ig-print.htm) - [IGSettings configuration and diagnostics](https://www.websupergoo.com/ig-settings.htm) - [.NET API documentation](https://www.websupergoo.com/helpignet/) - [Classic ASP and COM documentation](https://www.websupergoo.com/helpig/) - [Upgrading](https://www.websupergoo.com/helpignet/source/pages/introduction/upgrading.htm) - [Download free trial](https://www.websupergoo.com/imageglue-download.htm) - [Purchase](https://www.websupergoo.com/purchase_imageglue.htm) --- ## WordGlue .NET 4 > WordGlue .NET is a commercial C#/.NET component from WebSupergoo for converting and rendering Microsoft Word documents. It is a generic layout engine, written from the ground up, that reads DOC and DOCX and renders to vector formats such as PDF, SVG and XPS and to raster formats such as TIFF, JPEG, BMP, WMP and GIF. It is 100% managed AnyCPU code, thread safe, and completely independent of MS Word and OpenOffice.org, so no Office installation is required on the server. - **Scope:** This section describes WordGlue .NET version 4 (current release 4.1). - **Namespace:** `WebSupergoo.WordGlue4`, with `WebSupergoo.WordGlue4.Rendering` for the extensible rendering interface. Assembly `WordGlue4.dll`. - **Trial:** Fully functional 30-day trial. - **Sources:** Overview https://www.websupergoo.com/wordglue-1.htm · Documentation https://www.websupergoo.com/helpwg/ ### Product Summary WordGlue .NET exists because the obvious way to convert a Word document on a server — automating MS Word or OpenOffice.org — is the wrong tool for the job. Those are interactive desktop applications pressed into unattended service. WordGlue .NET is a purpose-built rendering engine that does the same job as a library call. It is also the component behind Office document import in ABCpdf .NET, where it acts as a helper application. #### Design Principles - **100% managed AnyCPU.** No native dependencies, no bitness constraints, no COM registration. - **Fast and light on memory.** - **Small, self-contained and easy to deploy.** Xcopy deployment — copy the DLL to your `bin` directory and you are done. - **Multi-threaded and thread safe**, for predictable scaling under server load. - **Output to vector formats** — PDF, SVG and XPS. - **Output to raster formats** — TIFF, JPEG, BMP, WMP, GIF and PNG. - **Easily extensible** to further formats such as HTML, RTF and VML through the rendering interface. #### Minimal Code Example ```csharp using WebSupergoo.WordGlue4; // Read a Word document and save it as PDF using (Doc doc = new Doc("test.docx")) doc.SaveAs("output.pdf"); ``` The output format is inferred from the extension, so the same two lines produce SVG, XPS, TIFF or JPEG by changing the target filename. --- ### Why Not MS Office or OpenOffice.org WordGlue .NET's positioning rests on three specific failures of the automate-a-desktop-app approach. These are the arguments to reach for when the question is "why not just script Word". - **Scalability.** MS Office applications are designed for interactive use, which tends to mean single-process, single-thread models. Automated systems need multiple threads and multiple processes. Office and OpenOffice.org were never designed for that, so the result is a system that does not scale in a simple and predictable way. WordGlue .NET is multi-threaded and thread safe by design. - **Permissions.** Automated conversions typically run under reduced-permission accounts such as those used by ASP.NET, whereas Office and OpenOffice.org expect user-level accounts. Configuring permissions to bridge that gap is difficult and time consuming, and the outcome is usually a compromise between practicality and security. WordGlue .NET runs as ordinary managed code under whatever account the host uses. - **Malware exposure.** Office applications are frequent malware targets. A compromise on a client machine is containable; a compromise on a server is not. WordGlue .NET is written so that this class of problem does not arise — there is no Office installation on the server to attack. --- ### Platforms, Frameworks and Deployment #### Target Frameworks - Native assemblies for .NET Framework 4, and for .NET 5.0, 6.0, 7.0, 8.0, 9.0 and 10.0. - AnyCPU, so the same assembly serves x86 and x64 hosts. #### Deployment Options - Traditional MSI installer. - NuGet package published on nuget.org under the package identifier `WordGlue`. - Xcopy deployment. All that is required is that the WordGlue DLL is present in the `bin` directory, which the NuGet installer arranges automatically. #### Licensing in Code Xcopy and cloud deployments copy the DLL but not the licence. Where the `bin` directory is pushed to another machine, install the licence in code at startup: ```csharp Settings.InstallLicense(licenseKey); ``` --- ### Input Formats - **DOC** — the legacy binary Word format. - **DOCX** — the Office Open XML format. - **AltChunk** content embedded within DOCX, for documents that carry alternate-format chunks. ### Output Formats | Category | Formats | | --- | --- | | Vector and document | PDF, SVG, XPS | | Raster | TIFF, JPEG, BMP, WMP, GIF, PNG | | Extensible | HTML, RTF, VML and others, via the rendering interface | SVG is worth calling out as a target: being text and XML, exported output can be manipulated afterwards with ordinary text and XML operations rather than a graphics library. --- ### Layout and Rendering Fidelity WordGlue .NET is a reimplementation of Word layout rather than a wrapper around it, so fidelity is a continuously developed property rather than something inherited. Version 4 improves verisimilitude with respect to MS Word layout and rendering, including AltChunk support. The rendering interface itself was reworked in version 4: fewer methods, abstracted objects such as pens and brushes, and semantic tagging. Semantic tagging is what makes rich export formats like HTML and RTF straightforward to implement, because the exporter receives meaning rather than only marks on a page. --- ### Dynamic Document Modification WordGlue .NET is designed to adjust documents on the fly, before export: - **Form and field substitution** — mail merge and field-based adaptation of documents prior to export. - **Structural modification** — the document structure can be changed completely, so custom data can be inserted or content adapted at run time. This is the difference between a converter and a document pipeline. A template DOCX plus field substitution plus PDF export covers a large share of real-world document generation without anyone hand-authoring PDF. --- ### Tools Two example applications ship with the product, both supplied as source: - **WordGlue Inspector** — examines the internal structure of documents and shows layout and rendering in real time. The first thing to reach for when output does not match expectations. - **WordGlue Editor** — edits the raw internal structure of Word documents. Useful for experimenting with different structures before implementing them in code. The viewer application's source is also included and is deliberately compact, so it doubles as a worked example for building your own conversion front end. --- ### Licensing - Perpetual licences, with single, five-pack and Redistribution/Enterprise tiers. - 30-day money-back guarantee. For current prices see the purchase page. --- ### WordGlue .NET Reference - [Product overview](https://www.websupergoo.com/wordglue-1.htm) - [Documentation](https://www.websupergoo.com/helpwg/) - [`Doc` class](https://www.websupergoo.com/helpwg/source/html/t_websupergoo_wordglue4_doc.htm) - [`WebSupergoo.WordGlue4.Rendering` namespace](https://www.websupergoo.com/helpwg/source/html/n_websupergoo_wordglue4_rendering.htm) - [NuGet package](https://www.nuget.org/packages/WordGlue/) - [Download free trial](https://www.websupergoo.com/wordglue-download.htm) - [Purchase](https://www.websupergoo.com/purchase_wordglue.htm) --- ## Other Products These products are part of the current range but are not documented in depth in this file. ### ABCocr .NET 3 A commercial C#/.NET component from WebSupergoo for Optical Character Recognition. It extracts text from images, returning words and character-level blobs with their bounding boxes. At its core is a custom build of the Tesseract 3 engine, wrapped so that it runs stably in-process, multithreaded, and in both 32-bit and 64-bit applications — none of which raw Tesseract does. Overview: https://www.websupergoo.com/abcocr-1.aspx ### ABCUpload .NET File upload handling for ASP.NET. Features include the Pure HTML Progress Bar™ (upload progress with no client-side software), GigUpload™ for very large uploads, Corruption Autofix™, Unicode compliance and MacBinary compatibility. Overview: https://www.websupergoo.com/abcupload.net-1.htm ### ABCUpload ASP 4.6 The Classic ASP equivalent of ABCUpload .NET, with the same Pure HTML Progress Bar™, Unicode compliance, MacBinary compatibility and BLOB awareness. Overview: https://www.websupergoo.com/abcupload-1.htm ### TaskGarden Task scheduling and management component. Overview: https://www.websupergoo.com/taskgarden-1.htm ### Discontinued Products Products are retired when their functionality becomes more readily available through another product in the range. Retired products remain purchasable, but WebSupergoo asks to be contacted first so a current alternative can be suggested. Discontinued products: https://www.websupergoo.com/products2.htm --- ## Choosing Between Products - **Vector documents, PDF generation, HTML to PDF, PDF standards compliance** — ABCpdf .NET. - **Raster and bitmap operations, colour space work, format conversion, thumbnailing** — ImageGlue .NET. - **Rendering or converting Word documents** — WordGlue .NET. - **Receiving files from browser clients** — ABCUpload .NET (ASP .NET) or ABCUpload ASP (Classic ASP). There is deliberate overlap at the edges. ImageGlue Professional and ABCpdf .NET share a PostScript rendering engine, and both can rasterize PDF. The distinction is one of emphasis: ABCpdf .NET is document-centric and vector-first, ImageGlue is image-centric and raster-first. --- ## Company Reference - [WebSupergoo home](https://www.websupergoo.com/) - [About us](https://www.websupergoo.com/aboutus.htm) - [All products](https://www.websupergoo.com/products.htm) - [Downloads and free trials](https://www.websupergoo.com/download.htm) - [Purchase and licence types](https://www.websupergoo.com/purchase.htm) - [Licence agreements](https://www.websupergoo.com/license.htm) - [Consultancy services](https://www.websupergoo.com/purchase_consultancy.htm) - [Source code escrow](https://www.websupergoo.com/escrow.htm) - [Support and FAQ](https://www.websupergoo.com/support.htm) - [Contact](https://www.websupergoo.com/contactus.htm) - [Languages supported](https://www.websupergoo.com/info_language.htm) - [Preferred reseller](https://www.websupergoo.com/info_reseller.htm) - [Cookies and privacy](https://www.websupergoo.com/privacy.htm) - [Sitemap](https://www.websupergoo.com/sitemap_visual.aspx)