UniDoc 2023 Wrapped: A Comprehensive Review of Development and Innovation
As we bid farewell to the year 2023, it’s time to reflect on the remarkable journey of UniDoc and its suite of products – UniPDF, UniOffice, UniHTML, UniCLOUD, and UniChart.
This year has been marked by continuous development, feature enhancements, bug fixes, and the introduction of new technologies to ensure that UniDoc remains at the forefront of document processing solutions.
In this detailed overview, we will delve into the improvements made across all UniDoc products, showcasing the commitment to excellence and innovation.
1. Unified Security Measures
Before delving into the specific product updates, it’s best to highlight the commitment to security that underlines all UniDoc development activities. To maintain the highest security standards, UniDoc implements vulnerability checks through GitHub Dependabot and snyk.io across its repositories.
This proactive approach ensures that potential security vulnerabilities are identified and addressed promptly, reinforcing the trust that users place in UniDoc’s products.
2. Pay-As-You-Go Service Evolution
UniDoc has taken significant strides in enhancing its Pay-As-You-Go service, introducing a groundbreaking feature. Now, metered API Key licenses can seamlessly operate in environments or systems without write permissions to persistent storage.
By utilizing the SetMeteredKeyPersistentCache(false)
feature in UniPDF or UniOffice, each usage is reported to the server immediately, offering a more versatile and dynamic licensing solution.
To complement this, a new environment variable, UNIDOC_LICENSE_DIR
, has been introduced. This allows users to set the path location for storing metered API Key usage, providing flexibility in managing licensing data. The default location is based on the HOME directory, ensuring a standardized approach.
3. Centralized Documentation Hub
Recognizing the importance of accessible and comprehensive documentation, UniDoc has launched a dedicated website for product usage guides and documentation.
Users can navigate to docs.unidoc.io to access valuable resources related to UniPDF, UniOffice, and UniHTML. This centralized hub serves as a knowledge repository, empowering users to make the most of UniDoc’s capabilities.
4. Enhanced Customer Support
In a bid to foster better communication and support, a chat support feature has been integrated into the main website (unidoc.io). This real-time support channel allows users to connect with the support team, seeking assistance and resolving queries promptly.
UniDoc is committed to providing a seamless user experience, and the addition of chat support reinforces this commitment.
Now, let’s dive into the specific developments and improvements across each UniDoc product.
I) UniPDF: Advancing Document Processing
UniPDF has undergone significant enhancements from December 2022 to December 2023, with 12 releases ranging from version 3.41.0
to the latest 3.53.0
.
The minimum supported Go version has been updated to go1.17, aligning with the latest advancements in the Go programming language.
New Features in UniPDF
PAdES Compatible Signature: UniPDF now supports PAdES-compatible signatures, covering various PAdES levels, including B-B, B-T, B-LT, and B-LTA. This ensures compliance with industry standards for electronic signatures.
UniPDF Templates: The introduction of a template feature, with an XML-like template language, facilitates the creation of reusable components. Each element is translated into a UniPDF creator element or content, streamlining document creation.
Basic SVG Support: UniPDF now supports the loading of SVG files or hardcoded SVG text strings, allowing vector graphics to be drawn while maintaining high-quality resolution.
Gradient Color Support: The UniPDF creator now supports gradient colors, providing more flexibility in document design.
Text Extraction Enhancements:
- Option to Use Simpler Extraction Process.
- Vertical alignment support for TextChunk.
- Bullet point support in text extraction.
- Improved performance in text extraction.
PDF Sanitization: UniPDF introduces a PDF sanitization feature, ensuring clean and secure documents.
AWS KMS and Google Cloud KMS Sign Examples: Demonstrating UniPDF’s commitment to compatibility, examples for signing using AWS, KMS and Google Cloud KMS have been added.
Improvements in UniPDF
Creator Rectangle and Ellipsis:
- Relative and fit mode improvements for rectangles and ellipses.
Text Extraction:
- Improved bullet point support.
- Pattern name generation routine enhancements.
- Image extraction with SMask support.
- Partial bitwise reader allocation for reduced memory usage during image decoding or encoding.
List Element Division Support:
- Improved support for division within list elements.
Signature Annotation Enhancements:
- Transparent background support.
- Ink annotation support.
Rendering and Font System:
- Gradient color rendering improvements.
- Font system lookup during rendering to image.
- Default image encoder set to DCTEncoder for reduced image file sizes.
UniCLOUD Integration:
- Metered API Key support on non-persistent disk systems.
Table Enhancements:
- TableCell support for division as content.
- Automatic fallback font name assignment during flattening.
- Handling of adding pages with unclosed q operators.
- Table row span across pages.
Font Rendering and Image Handling:
- TTC font files support for rendering.
- Improved performance and fixes for image rendering issues.
Bug Fixes in UniPDF
Signature Handling:
- Pre-allocated signature size fix for timestamp signatures.
- Corrected customer name in license information.
Rendering and Image Issues:
- Panics and rendering issues related to DCT encoded images and image alignment have been addressed.
Table and Layout Fixes:
- Resolved issues related to table cell height miscalculation, row span, and infinite loop in table content wrapping.
Miscellaneous Fixes:
- Addressed various issues, including header annotation external link position, cross-reference stream dictionary size entry, and more.
UniPDF has proven its commitment to innovation and reliability with these extensive improvements and bug fixes. The added support for PAdES signatures further solidifies UniPDF as a versatile and compliant document processing solution.
II) UniOffice: Empowering Document Creation
UniOffice, the companion to UniPDF, has undergone ten releases from version 1.21.1 to the latest 1.29.1, raising the minimum supported Go version to go1.17. UniOffice focuses on document creation, and this year has seen significant strides in improving the conversion of DOCX and PPTX to PDF, aligning the results more closely with Microsoft Office standards.
New Features in UniOffice
Run Properties Enhancement:
- Introduction of the
SetRightToLeft
function to modify run properties.
- Introduction of the
Text Extraction Improvements:
- Option for
RunsOnNewLine
to force paragraph runs to be written on a new line.
- Option for
Presentation Enhancements:
- Table support added into placeholders.
Additional Run Properties Function:
- Introduction of the
SetProperties
function for enhanced run customization.
- Introduction of the
Improvements in UniOffice
Mail Merge and Form Fields:
- Processing of fields in headers and footers.
Text Extraction within Textbox Element:
- Improved extraction of content inside the textbox element.
Sheet Name Calculation:
- Transition from bytes length to rune length for improved accuracy.
Content Extraction Enhancements:
- Extraction from SdtContent and SdtBlock elements.
Media Directory Lookup:
- Expanded lookup for the media directory outside the main directory (word, xl, ppt).
Absolute Relationship File Path Processing:
- Improved processing of absolute relationship file paths.
Image Handling Consistency:
- Media image name consistency.
DOCX to PDF and PPTX to PDF Conversion Improvements:
- Position improvements in header and footer.
- Layout and content position enhancements for PPTX to PDF conversion.
Footnote and Endnote Improvements:
- Improved handling of footnote and endnote addition and removal.
Table Processing Enhancement:
- Improved processing for tables during DOCX to PDF conversion.
XLSX Styles Optimization:
- Removal of duplicate styles name during XLSX processing.
Image Processing:
- Improved processing of EMF images during DOCX to PDF conversion.
Bug Fixes in UniOffice
DOCX to PDF Conversion Fixes:
- Addressed issues such as missing gridCol element and panic nil pointer on empty paragraph properties.
Text Extraction Issues:
- Resolved panic nil pointer issue when extracting text from SdtContent.
GridCol Processing Fix:
- Fixed divide by zero issue in gridCol processing.
Slide Relationship Handling:
- Fixed duplicate slide relationship issue.
PPTX SlideLayout Selection:
- Corrected issues related to slide layout selection in PPTX.
UniOffice has undergone substantial improvements, making it a powerful companion to UniPDF for document creation.
The focus on compatibility with Microsoft Office standards and the enhancement of text extraction capabilities solidify UniOffice’s position as a versatile document creation tool.
III) UniHTML: Streamlining HTML Processing
UniHTML, a component of the UniDoc suite, has seen the release of version 0.7.0. This version brings improvements focused on better handling of timeouts when processing large HTML files. UniHTML aims to simplify the conversion of HTML content into other document formats within the UniDoc ecosystem.
IV) UniCLOUD: Unifying Document Management
UniCLOUD, designed as a centralized platform for user subscriptions, metered API Key management, offline licenses, and documentation access, has undergone significant improvements.
The emphasis has been on enhancing user experience and simplifying interactions through major UI design changes.
Key features include GitHub sign-up integration and offline license synchronization, providing a comprehensive and user-friendly platform for managing UniDoc products.
V) UniChart: Visualizing Data with UniDoc
UniChart, a visual representation tool within the UniDoc suite, has seen two releases – version 0.2.0 in May 2023 and version 0.3.0 in September 2023.
These releases bring a host of new features, improvements, and bug fixes, enhancing UniChart’s capabilities for data visualization.
New Features in UniChart
Progress Bar Components: UniChart now includes progress bar components, allowing for dynamic and informative data representation.
Horizontal Mode for Bar Chart: A new horizontal mode has been added for bar charts, providing flexibility in chart orientation.
Improvements in UniChart
- Default Ticks Position Calculation: Improved default calculation for ticks position, enhancing chart readability.
Bug Fixes in UniChart
Margins and Position Fixes: Addressed issues related to chart margins and position for a more accurate representation.
Axis Rendering Fix: Corrected rendering issues when converting charts to images using UniPDF.
External Libraries: Strengthening the Foundation
In addition to the core UniDoc products, several external libraries play a crucial role in supporting specific functionalities. Let’s explore the key updates in two vital libraries – pkcs7
and golang/freetype.
pkcs7: Enabling Secure Signatures
UniDoc relies on the pkcs7
library for secure signature handling. In 2023, UniDoc has actively contributed to the development of this library, releasing version 0.1.1 in April 2023 and version 0.2.0 in July 2023. These releases focus on supporting GlobalSign DSS and introducing AddSignerChainPAdES
for enhanced PAdES signature compatibility.
golang/freetype: Elevating Font Processing
The golang/freetype library, crucial for font parsing and processing within the UniDoc ecosystem, has seen five releases from December 2022 to December 2023 (versions v0.1.0 to v0.2.3). These releases prioritize improvements in font processing and renderer results, ensuring high-quality text rendering in UniDoc products.
Font Parsing Patch: Addressed issues in font cmap parsing, enhancing overall font processing.
Extended cmap Format Support: Added support for cmap format 6, allowing for greater flexibility in font handling.
No Cmap Allowance for Truetype Fonts: Implemented a check for cmap format 4 and returned an error for empty cmap, enhancing error handling.
CharcodeMap Fixes: Addressed charcodeMap issues for cmap format 4.
Kern Table Length Parsing Fix: Resolved parsing issues related to kern table length.
These updates in external libraries underscore UniDoc’s commitment to maintaining a robust foundation, ensuring the seamless functioning of its products.
Conclusion: UniDoc’s Journey in 2023
The year 2023 has been a remarkable chapter in UniDoc’s journey, marked by continuous innovation, customer-focused enhancements, and a steadfast commitment to excellence.
The improvements across UniPDF, UniOffice, UniHTML, UniCLOUD, and UniChart reflect UniDoc’s dedication to providing state-of-the-art document processing solutions.
UniDoc’s engagement in industry events, such as ETSI PLUGTESTS 2023, showcases its commitment to staying abreast of industry standards and interoperability. The addition of PAdES-compatible signatures in UniPDF further positions UniDoc as a reliable choice for secure and compliant document processing.
As UniDoc continues to evolve, the emphasis on user experience is evident through the launch of a centralized documentation hub, chat support on the main website, and the refinement of UniCLOUD as a comprehensive platform for user management and documentation access.
In conclusion, UniDoc’s 2023 Wrapped is a testament to its commitment to innovation, security, and user satisfaction. As we look forward to the future, UniDoc remains poised to redefine document processing standards and empower users with cutting-edge solutions.