Monitor document conversion status and progress in C#

With the release of GroupDocs.Conversion for .NET 19.11 you can now monitor document conversion progress. There is one improvement and a few bug fixes introduced.

A new property Listener is added. The document converter listener implementation is used for monitoring conversion status and progress. Have a look at ConverterListener class that implements IConverterListener interface

Below is the usage

Coming to the improvement, MPP to XLS conversion is improved. Previously, there was issue in PNG image conversion (e.g. PNG to Word or Presentation). This issue is now fixed. There was another document conversion issue, a particular Word file to PDF with exception: Could not create the bitmap with the specified parameters. This bug is also resolved.

Get latest version from download section. If you want to evaluate API features, we have an open-source example project for you that could be downloaded from GitHub.

Posted in GroupDocs.Conversion Product Family | Tagged , , , | Leave a comment

Redact Content in Apple’s Numbers Spreadsheet using GroupDocs.Redaction for Java 19.11

Java API to redact text in word pdf excel powerpoint

The technology is growing at a huge pace and to stand strong through this storm you need to improve every day. Accordingly, to make you enhance your applications and take them to the next level, we keep trying to meet your emerging requirements by introducing new features and improving the existing ones. This is the reason we have introduced an optimized and simplified version of our Java document sanitization and text redaction API – GroupDocs.Redaction for Java.

The v19.11 of GroupDocs.Redaction for Java has been released with a new public API and a couple of enhancements. So let’s have a look at the enhancements and changes we have done in this version.

Support of Numbers Spreadsheets

Numbers is Apple’s application to create and view the spreadsheet documents in iOS or macOS. The spreadsheets created within this application are stored with .numbers extension and they are quite similar to the other spreadsheets, for example, that are created with MS Excel. We have extended the list of our support spreadsheet formats in the latest release and added the ability to redact the content in the Numbers spreadsheets. Visit spreadsheet redaction for more details on text redaction in spreadsheets.

Setting PDF Compliance Level

GroupDocs.Redaction also allows saving the redacted document into a rasterized PDF document. Since the PDF documents may possess different compliance levels such as PDF/A-1a, PDF/A-1b, we have made it possible for you to set the compliance level of the resultant PDF document as per your choice. For this, the enum PdfComplianceLevel has been added to com.groupdocs.redaction.options package. The following code sample shows how to set the PDF compliance level.

Breaking Changes

In v19.11, we have introduced a new public API which is designed to be simple and easy to use. The following are some notable changes we have made in this version and if you are already using the API, you will face these breaking changes once you upgrade.

  • The Redactor class is introduced to manage the document redaction process (instead of Document class from previous versions).
  • The methods redactWith() of the Document class are replaced with similar apply() methods in the Redactor class. 
  • The classes RedactionSummary, RedactionLogRecord, and MetadataFilter have been renamed to RedactorChangeLog, RedactorLogRecord, and MetadataFilters respectively.
  • A number of new exception classes and base exception class for GroupDocs.Redaction exceptions are added.
  • The constructor LoadOptions(DocumentFormatConfiguration) has been removed.
  • All the obsolete members have been removed from the public API.

Please visit the migration notes to see how the classes, methods and their usage has been changed in v19.11.

Try out the latest release by downloading or cloning the source code examples from GitHub. Visit documentation for more details on how to redact, hide, or find and replace text, metadata, and annotations in Word, Excel, PowerPoint, PDF, and image formats.

In case you find something difficult for you, feel free to let us know via our forum.

Posted in GroupDocs.Redaction Product Family | Tagged , , , | Leave a comment

Parsing Documents is Made Simple with GroupDocs.Parser for Java 19.11

GroupDocs.Parser for Java API is in the market since last year and it is proved to be one of the powerful document parser APIs that allows parsing and reading popular formats of word processing documents, spreadsheets, presentations, ebooks, emails, markup documents, notes, archives, and databases. Not only the text but you can also extract the images and metadata properties from various document formats including PDF, XLS, XLSX, CSV, DOC, DOCX, PPT, PPTX, MPP, EML, MSG, OST, PST, ONE and many more.

In order to improve the working of the API and simplify its usage for the developers, we have revamped its architecture from scratch. Now, the improved and simplified API is onboard as GroupDocs.Parser for Java 19.11.

What is new in v19.11?

In case you are using an older version. the following are the key reasons why you should upgrade to the latest release.

  • The Parser class is introduced to read and extract data from the document of any supported format.
  • The process of data extraction has been unified for all data types.
  • Product architecture has been revamped from scratch in order to simplify the usage of different options and classes to manipulate data.
  • The process of getting document information and preview generation has been simplified.

How to migrate?

Since the product has gone through the major updates, the classes, methods, and the way they are used have also been changed. However, we haven’t yet removed the legacy API from the package, instead, we have moved it to the com.groupdocs.parser.legacy package. Once you upgrade to the v19.11, you just need to perform project-wide replacements of packages from com.groupdocs.parser to com.groupdocs.parser.legacy. This way you will get rid of immediate build issues. You can then gradually proceed to update the source code and use the new public API’s classes and methods.

Code Comparison

Let’s now have a look at how the code has been changed for extracting text and metadata using the latest release.

Extracting Text from PDF

Legacy API

v19.11 or Later

Extracting Metadata

Legacy API

v19.11 or Later

For more details on code comparison, please have a look at the migration notes.

Well, this was a brief overview of the latest release. Now, you can evaluate the recent changes yourself by downloading or cloning the updated source code examples from the GitHub repository. We have also updated the documentation as per the latest release.

In case you would face any issue while migrating to the latest release or using any particular feature, feel free to let us know via our forum.

Posted in GroupDocs.Parser Product Family | Tagged , , , | Leave a comment

25 percent off GroupDocs.Total – Newsletter December 2019

LinkedIn Google+ Twitter Facebook
Share this issue:

Monthly Newsletter

December 2019

25% off Conholdate.Total
25% off GroupDocs.Total

Get 25% off GroupDocs.Total for .NET and Java. Quote HOLOFF2019 when placing your order.

Buy Now

This offer is only available on new GroupDocs.Total purchases and cannot be used in conjunction with other offers, renewals or upgrades. Only available directly from, not through third parties or resellers. Ts&Cs Apply.

Product News
Product News
Product News
From the Library
From the Library
From the Library
GroupDocs for .NETGroupDocs for JavaGroupDocs for Cloud APIs
Product Releases and Updates
Posted in Customer Newsletters | Tagged | Leave a comment

Compare two documents – Control header and footer comparison in C#

Compare two documents but ignore or include header and footer content. Is this what you need in your document comparison application? Then you must try GroupDocs.Comparison for .NET. This back-end API can be implemented in any of your .NET application without any third party tool/software dependency. Those who are already using this API, we have some interesting features and few bug fixes introduced in GroupDocs.Comparison for .NET 19.11.

Set output paper size

A new property PaperSize is introduced in CompareOptions class using that you can adjust paper size of the resultant document (e.g. PaperSize.A4). If you don’t set PaperSize value, output file will has paper size same as target document by default.

Multi comparer for Email and Text formats

API now allows you to compare more than one email and text (target) files.

Comparing multiple text files follow same procedure.

Switch header and footer comparison

A new property HeaderFootersComparison is introduced in CompareOptions class. If you don’t want to compare header/footer of a document, just set this property to false.

Following are some of the main bug fixes introduced in latest release:

  • API is not releasing file handles
  • Incorrect box dimensions and position
  • Exception during comparing PDF-files without license

Get API from download section. Explore developer guide and in case of any issue, post it on forum.

Posted in GroupDocs.Comparison Product Family | Tagged , , , | Leave a comment

Add Point Annotation in Documents using .NET and Java API

As all our records and documentations are facing a digital transformation. It has made it quite necessary for us to have a good knowledge of the tools that may help us in the long run. Annotation is one of those tools which may help you in adding the extra, yet necessary, piece of information into your documents.

Annotation helps readers in understanding the text in a better way. It also helps different people working on the same task to exchange their concerns regarding a piece of information in the document. It assists different users in commenting or replying through annotations to each other. Simply put, annotations have a wide range of utility.

GroupDocs.Annotation For .NET And Java

GroupDocs.Annotation is a powerful tool which helps in improving applications by adding annotation in the documents. It supports a wide range of documents along with the advantage of authorizing the user to annotate the supported formats in the form of textual comments, watermarks, polylines, redactions, highlighted notes, among others. It empowers the users to communicate their concerns and collaborate through comments.

Add Point Annotation In PDF

GroupDocs.Annotation offers multiple features to users. Some of these features include Area, Distance, Point, Polyline, Arrow, TextField, Watermark and Ellipse annotations. However, if you are looking for a way to specify the main text on which you are making the comment without creating any mess on the document, Point feature works the best. It helps you to stick comments to any point in a document without causing any harm to the content. In simple words, if you are looking forward to point a text in the document, you can always use the Point Annotation feature to fulfill your purpose. Some of the properties offered by this feature include Box, PageNumber, Type, CreatedOn and CreatorName.

Following example demonstrates how you can add point annotation into PDF using GroupDocs.Annotation for .NET:

Java developers can add a point annotation into PDF using GroupDocs.Annotation for Java with following line of codes:

Following screenshot shows how the point annotation look likes in resultant document:

Posted in GroupDocs.Annotation Product Family | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a comment

Convert a JPEG file to PSD programmatically in C#

You can convert an image file (e.g. JPEG, JPG, PNG) to PSD format and redesign it as per your requirements using GroupDocs.Conversion for .NET. All you have to do is to integrate this DLL in your web, desktop or console application.


  • Pass source document path as a constructor parameter to the instance of Converter class
  • Instantiate ImageConvertOptions
  • Specify resultant image format using Format property of ImageConvertOptions class
  • Declare SavePageStream delegate, which should proved a stream where each document page will be stored
  • Call Convert method of Converter class instance and pass the declared SavePageStream delegate and the instance of ImageConvertOptions from the previous two steps

Have a look at the source JPEG file:

Below is the resultant PSD:

Learn more about document conversion to image format in this article. You can download our open-source example project in order to evaluate API features. In case of any issue, post it on forum.

Posted in GroupDocs.Conversion Product Family | Tagged , , , | Leave a comment

Dynamic Insertion of Links to Bookmarks, Cells and Slides using GroupDocs.Assembly 19.11

Document Automation (or document assembly) is widely used by organizations for their reporting services and GroupDocs.Assembly for .NET and Java APIs provide a complete package of features required to build reports dynamically. Keeping the modern trends in mind and to meet the emerging requirements of our customers, we keep introducing the new features. Recently, we have released the v19.11 of our document automation API with quite a useful set of features. So in this article, I’ll give you an overview of what is new in the latest release.

Dynamic Insertion of Links to Bookmarks, Cells and Slides

Hyperlinks in the documents prove to be useful in many cases, for example, adding links to bookmarks in Word documents, adding links to slides within PowerPoint presentations, inserting a link to cell (or a range of cells) in Excel spreadsheets, etc. Therefore, to handle the hyperlinks in the document automation process, we have introduced the dynamic insertion of hyperlinks to:

  • bookmarks for Word Processing documents and emails,
  • cells for Spreadsheet documents, and
  • slides for Presentation documents.

To insert the hyperlinks, the link tag is used which is placed inside the template documents. The following is the syntax for the link tag:

<<link [uri_or_bookmark_expression] [display_text_expression]>>

The uri_or_bookmark_expression in the tag defines a URI or the name of a bookmark within the same document. This expression is mandatory and must return a non-empty value. Whereas, display_text_expression is the text to be displayed for the hyperlink. This expression is optional and in case it is omitted or returns empty, uri_or_bookmark_expression is used as hyperlink’s text.

For more details along with the sample template documents, please visit the following documentation articles:

Code Blocks, Spans and Strikeout Text for Markdown

In the latest version of our document assembly API, we have extended the set of supported Markdown features. From now on, the following Markdown features will be supported when saving assembled Markdown documents to Word Processing formats and saving assembled Word Processing documents and emails to Markdown:

For more details, see how to work with Markdown documents using .NET and Java API.

Alright! So this is it from my side and it’s your turn to check out and use these amazing document assembling features to enhance your document automation process.

You can download our ready-to-run source code examples from the GitHub repository. The details of every feature are available in our documentation and as always, we would love to hear from you on our forum.

Posted in GroupDocs.Assembly Product Family | Tagged , , , , , | Leave a comment

Watermark Password Protected Documents using GroupDocs.Watermark for .NET 19.11

C# .NET Watermarking API

Another month, another release! GroupDocs.Watermark for .NET 19.11 has been released with 4 improvements and 1 bug fix. So in this article, I’ll give you a brief overview of each improvement and fix we have included in the latest release.

First of all, let’s begin with the improvements and then see what has been fixed in v19.11.

Adding Watermark to Password Protected Documents

GroupDocs.Watermark already supports adding watermark to the password protected documents. However, we have improved and simplified the usage of this feature by adding Password property to the common LoadOptions class. This is how you will add watermark to a password protected document using v19.11 or later.

FormatFamily Enum

FormatFamily enumeration has been added toGroupDocs.Watermark.Common namespace to group the supported document formats. The following groups have been made based on the type of the document:

  • Unknown – Unknown file formats.
  • Diagram – Visio formats (VSD, VSDX etc.).
  • Email – Email formats (EML, MSG, etc.).
  • Image – Image formats (PNG, JPG, etc.).
  • MultiframeImage – Multi-frame image formats (TIFF etc.).
  • Pdf – PDF format.
  • Presentation – Presentation formats (PPT, PPTX, etc.).
  • Spreadsheet – Spreadsheet formats (XLS, XLSX, etc.).
  • WordProcessing – Word processing formats (DOC, DOCX, etc.).

MultiframeImageWatermarkOptions Class

We have added the MultiframeImageWatermarkOptions class to manage the watermark options for the supported multi-frame image types. The following code sample demonstrates how to add a watermark to a multi-frame image.

FontNotFoundException Class for PDF Documents

There could be the case when you add a text watermark to a PDF document with a font that is not available/installed at your end. For such a case, we have added the FontNotFoundException class for the exception that is thrown when the requested font is not found.

Bug Fix

In the previous versions of the API, System.NullReferenceException was thrown when finding the possible watermarks in some of the PDF documents. This issue has been resolved and the fix is available in v19.11.

You can visit the documentation to learn more about the GroupDocs.Watermark for .NET API. You can evaluate all the features of the API by downloading or cloning the code examples from the GitHub repository. In case you find some issue, feel free to contact us via our forum.

Posted in GroupDocs.Watermark Product Family | Tagged , , , , , | Leave a comment