Skip to content

Releases: GleamTech/DocumentUltimate

DocumentUltimate v7.3.0

08 Jan 00:14
Compare
Choose a tag to compare

Version 7.3.0 - January 7, 2025

  • Improved: Updated PDF.js library to 4.10.38 for stability and performance.

  • Fixed: Back in v6.8.5 (April 7, 2023), we fixed DocumentCache stalling when creating empty files on AzureBlobFileSystem on .NET Framework projects.
    However it seems, the stalling problem could also occur for bigger files (probably for files bigger than a 4MB chunk).
    The problem was not with rendering of the DocumentViewer but rather with it trying to get info about file from cache
    before rendering, and as AzureBlobFileSystem stalled (freezed without response indefinetely), the viewer never completed rendering.
    This problem which only effected using DocumentCache on Azure Blob and in .NET Framework projects, is now fixed.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.2.0

01 Dec 13:58
Compare
Choose a tag to compare

Version 7.2.0 - December 1, 2024

  • Improved: Updated PDF.js library to 4.8.69 for stability and performance.

  • Fixed: Attachment annotations should not be re-added when browsing back nested attachments.
    If document was not a pdf portfolio file, attachment annotations were not added and attachments pane was not being activated.

  • Improved: Stability and performance of DICOM formats.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.1.5

09 Oct 11:50
Compare
Choose a tag to compare

Version 7.1.5 - October 9, 2024

  • Improved: Updated PDF.js libray to 4.6.82 for stability and performance.

  • Added: Highlight text annotation tool (on vertical toolbar).

  • Fixed: Vertical toolbar had 1px extra width and did not align with top toolbar button.

  • Fixed: Positioning of toolbar menus, so that they are positioned correctly e.g. when there is scrollbar inside vertical toolbar.

  • Improved: Sizing of Document Properties dialog to make it more readable, especially when using large UI sizing.

  • Improved: Find dialog is beautified to make it more readable.

  • Improved: When toolbars or sidebar is hidden with permissions, other UI parts should fill the gaps correctly.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.1.3

04 Oct 09:27
Compare
Choose a tag to compare

Version 7.1.3 - October 4, 2024

  • Fixed: In thumbnail view, when there are few thumbnails like 2 or 3, they should not be vertically centered (avoid large gaps).

  • Fixed: Setting DocumentViewer.ZoomLevel property was not working. Normally when it's set to a non-zero percentage value,
    that should override the DocumentViewer.ZoomMode property.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.1.2

09 Sep 22:40
Compare
Choose a tag to compare

Version 7.1.2 - September 9, 2024

  • Fixed: Thumbnail view scrolling was not synchronized to the document scrolling.
    So when scrolling the document, current page's thumbnail should scroll into the view automatically.

  • Added: New property DocumentViewer.RememberViewHistory:
    Gets or sets a value that specifies whether for each document fingerprint, the document viewer should remember UI state via browser's local storage,
    i.e. last viewed page, zoom level, scroll position, rotation, SidebarView, ScrollMode, SpreadMode.
    The default is true.

    If you want the document viewer to discard any view history entries and always load all documents at the first page
    (and with default zoom values), then you should set this property to false.

    In previous versions, DocumentViewer behaved as if this property was set to true.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.1.0

01 Sep 01:15
Compare
Choose a tag to compare

Version 7.1.0 - September 1, 2024

  • Improved: PDF conversions are now faster and more accurate. Support high-load environments.

  • Fixed: Signatures in some PDF files were removed in conversions and thus were not visible in DocumentViewer.

  • Improved: DocumentViewer will show generic subfolders for attachments that has path info in PDF portfolio files.
    Since v7.0.0, we showed a flat list unlike previous versions due to new viewer based on pdfjs which provides limited info.
    If attachment rawFilename does not contain path, we will try to parse fileSpec key which looks like <2>File.docx.
    A placeholder subfolder like Subfolder 2 will be created so the attachment will be displayed as Subfolder 2/File.docx.
    No subfolder will exist for those beginning with <0>, as those are in root.
    Resolving PDF internal folder id is not currently supported so subfolders will be generic.
    However, this is still useful to detect if an attachment is in a subfolder.

  • Added: TextAlignment.Justify to be used for TextWatermark.

  • Changed: Removed some image format conversions which were not accurate. Please use ImageUltimate product for best image to image conversions.

  • Changed: Removed some API as they are no longer useful:

    • DocumentFormat.Xpz is removed
    • DocumentCache Xpz related methods are removed
    • DocumentCache.EncryptionEnabled is removed
    • XpzOutputOptions is removed
    • PdfOutputOptions.FastWebViewEnabled is removed
  • Fixed: "Full Screen" menu item should not be visible on mobile devices just like "Presentation Mode".

  • Added: New permission DocumentViewerPermissions.OpenLocalPdf:
    Ability to open local PDF files, i.e. user is shown "Open" menu item which is when clicked shows browser's open dialog to choose a PDF file to load.
    This permission is not included in All permission so it should be added additionally:

    //allow all set of permissions and also add OpenLocalPdf which is not included in all
    documentViewer.AllowedPermissions = DocumentViewerPermissions.All | DocumentViewerPermissions.OpenLocalPdf;

    Note that only PDF files can be opened this way and not other formats because file is not processed on the server side (no conversions),
    and it's loaded by client-side DocumentViewer directly (same for attachments, non-PDF attachments will trigger download only and not load).
    However, it can be useful to test quickly, how a specific PDF file is rendered in the DocumentViewer.

  • Improved: Delete legacy folders and left-over temporary files under GleamTechConfiguration.TemporaryFolder on startup.

  • Fixed: Embedded resource overriding from App_GlobalResources folder was broken since v7.0.0.
    For example custom language files put under App_GlobalResources, were not being loaded.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.0.15

17 Aug 03:02
Compare
Choose a tag to compare

Version 7.0.15 - August 17, 2024

  • Fixed: Error when DocumentViewer is rendered in cross-domain frame:
    Uncaught DOMException: Failed to read a named property 'matchMedia' from 'Window':
    Blocked a frame with origin "http://development" from accessing a cross-origin frame.

  • Improved: Show explanatory error message when DocumentViewer host page is opened via local HTML file:
    Viewer cannot be loaded when you load the HTML file locally (i.e. with a file:// URL).
    This causes CORS errors due to JavaScript module (.mjs) security requirements of the browser.
    You need to run through a local or remote web server (i.e. with a http:// or https:// URL).`;

  • Improved: Show explanatory error message when DocumentViewer host page and iframe is not same origin for some reason:
    Viewer cannot be loaded because the iframe and the iframe's parent document are not "Same Origin".
    If you did set a custom libraryPath, ensure it is same origin as this host page
    or adjust your server's CORS settings to allow cross-domain access.`;

  • Fixed: Changing to other languages other than english was not working since v7.0.8 due to a change in pdfjs.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.0.11

08 Aug 23:20
Compare
Choose a tag to compare

Version 7.0.11 - August 9, 2024

  • Improved: Instead of mysterious BadImageFormatException when loading native DLLs, this explanatory
    exception will be thrown until we support ARM architecture:

    DocumentUltimate requires "x64" or "x86" as process architecture. Current process architecture is "Arm64".

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.0.10

06 Aug 14:52
Compare
Choose a tag to compare

Version 7.0.10 - August 6, 2024

  • Fixed: DocumentViewer will render a placeholder tag along with the script tag.
    We need a tag other than script tag for the component even if we render DOM on the client side.
    For example, Kendo UI Window, removes/moves script tags from content html so component is rendered to wrong place
    and not inside the window.

    Kendo UI Window has this code which caused the issue:
    // remove script blocks to prevent double-execution
    element.find("script").filter(executableScript).remove();

  • Fixed: Attempt to fix intermittent UnauthorizedAccessException in DocumentCache for .lock files.
    This issue is hard to replicate, but in our tests we didn't the observe it again after some locking fixes.
    Let us know if you still get this error intermittently:
    Access to the path "[DocumentCache]:\lock-1hshdfqw44gb5w44gb5~lpnqmy.json.lock" is denied due to insufficient permissions.
    Please make sure the current windows identity "computer\user" has the required permissions on the path.

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+

DocumentUltimate v7.0.9

01 Aug 23:17
Compare
Choose a tag to compare

Version 7.0.9 - August 2, 2024

  • Fixed: Error "TypeError: Failed to construct 'URL': Invalid URL" was thrown when DocumentViewer was rendered as content
    inside Kendo UI Window. The reason is that when added as content in Kendo Window, weird stuff happens,
    document.currentScript refers to inline script tag which has jquery code and document.currentScript.src comes as empty string
    thus the URL constructor error. Avoided using document.currentScript.src when it's empty in cases like this one,
    as the issue may also appear in other UI frameworks.

  • Improved: Added EscapeClosingScriptTags method to RazorPageExtensions, WebViewPageExtensions and WebPageExtensions
    which escapes closing script tags, i.e. replaces </script> with <\/script>.

    When you render a component inside a <script> tag, for example when you set a javascript variable to
    the result of inline @renderhead or @RenderBody calls, the result may contain closing </script> tags
    and browser treats these tags as an immediate stop even if they are enclosed in a javascript string literal:

    <script>
       //this will fail in browser because there are closing `</script>` tags in the rendered result.
       var html = `@this.RenderBody(component)`;
    </script>

    So to prevent the issue, escape closing script tags when you are inside <script> tag, with this method:

    <script>
       var html = `@this.RenderBody(component).EscapeClosingScriptTags()`;
    </script>

    Details: The browser finds the </script> piece in the string and thinks that it is the closing tag
    of the first script element. It treats the rest of the script and the real </script> closing tag as regular text
    and displays it in the page (except for the </script> tag).

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+