DocumentUltimate is an ASP.NET Document Viewer and Converter which supports ASP.NET Core 2.0+, ASP.NET MVC 3+ and ASP.NET WebForms 4+ web applications/web sites.
DocumentUltimate can also be used with .NET Core 2.0+ and .NET Framework 4.0+ console/desktop applications for conversion between several document formats.
- Universal web document viewer which works on both desktop and mobile browsers.
- Crystal-clear zooming. High resolution rendering, preserving text and graphics (no rasterization) exactly as they are in the original.
- Fast document loading, the whole document is not loaded at once, document pages are loaded as you are about to view them.
- Search text within document. Navigate with bookmarks/outlines.
- Change page layout modes (e.g. single page or facing pages), rotate pages and view on full screen.
- Print, download original or download as PDF inside the viewer.
- Secure document viewing, copy protection (DRM). Viewed documents are encrypted so they are copy-protected out of the box. Ability to disable downloading the original document or replicating it via printing or selecting and copying text.
- Watermark document pages with text or image. Customize the watermarks with wide range of options e.g. position, size, rotation, opacity, color.
- Pre-higlight keywords in the document, e.g. if you launch the document viewer from a search results page, you can higlight the searched keywords.
- Self-contained conversion engine, no external dependencies, e.g. you don't need to install Microsoft Office on your server.
- Single managed DLL which works both on 32-bit and 64-bit for hassle-free development and deployment.
- Supports being used in desktop or console applications for converting between document formats. Only the document viewer is dependant on web applications.
- Portable Formats(.pdf, .xps, .oxps, .xpz)
- Word Processing Formats(.docx, .docm, .dotx, .dotm, .doc, .dot, .rtf, .odt, .ott)
- Spreadsheet Formats(.xlsx, .xlsm, .xltx, .xltm, .xlam, .xlsb, .xls, .xlt, .xml, .csv, .tsv, .dif, .ods, .ots)
- Presentation Formats(.pptx, .pptm, .potx, .potm, .ppsx, .ppsm, .ppt, .pps, .odp, .otp)
- Diagram Formats(.vsdx, .vsdm, .vstx, .vstm, .vssx, .vssm, .vdx, .vsx, .vtx, .vsd, .vss, .vst, .vdw)
- Project Management Formats(.mpp, .mpt, .mpx)
- Email Formats(.msg, .eml, .emlx)
- Ebook Formats(.epub, .mobi)
- Markup Formats(.html, .htm, .mht, .mhtml, .web)
- Text Formats(.txt)
- Cad Formats(.dwg, .dxf)
- Scanner Image Formats(.tif, .tiff, .djvu, .dcm)
- Vector Image Formats(.ps, .svg, .emf, .xaml)
- Raster Image Formats(.psd, .jpg, .jpeg, .jpe, .jfif, .jp2, .jpf, .jpx, .j2k, .j2c, .jpc, .jxr, .wdp, .hdp, .png, .gif, .webp, .bmp, .wmf, .dib)
Install-Package GleamTech.DocumentUltimate -Version 5.2.2
dotnet add package GleamTech.DocumentUltimate --version 5.2.2
<PackageReference Include="GleamTech.DocumentUltimate" Version="5.2.2" />
paket add GleamTech.DocumentUltimate --version 5.2.2
## Version 5.2.2 - January 24, 2020
- **Fixed:** Viewing some files (or converting when hosted on IIS) caused StackOverflowException. The viewer would only show "Status: error"
message without details as it was not possible to catch this exception. This was expecially reproducable for PDFs with signed certificates.
IIS (also IIS Express) reduces the regular 1 MB stacksize to 512KB (and to 256 KB on 32-bit w3wp.exe) and this caused some conversions to
fail with this exception.
This is now prevented. If current thread's stack size is lower than the required stack size, a new thread will be created with the required
stack size and the conversion will be done inside this thread to prevent StackOverflowException.
- **Changed:** LicenseKey property will now throw error also for null values (in addition to empty string (whitespace) values in v5.2.0).
TrialExtensionKey property will now throw for null and empty string (whitespace) values.
This is useful to prevent silently falling back to trial mode when you are not aware you are passing invalid values (e.g. setting values
retrieved from an external source).
- **Improved:** DocumentCache will from now on consider zero-sized cached files as not existing because they are usually left overs from failed
old cache attempts. For example some exceptions are not catch-able like StackOverflowException so sometimes it may not be possible to cleanup
a newly created zero-sized cache file before the process exists.
This will prevent "Downloading file part error occured and could not get the reason." error when a conversion was not working before but
it was fixed later (a zero-sized cached file will trigger a re-conversion).
- GleamTech.Common (>= 4.1.2)
This package is not used by any popular GitHub repositories.