Convert EML or MSG file to PDF in C#

Do you want to build a web based, console or desktop application in C# that can convert an email file to PDF?

GroupDocs.Conversion for .NET is a one-stop solution for such a scenario. This API can be implemented in any of your (new or existing) .NET project without any dependency. Supported email formats are

  • MSG
  • EML
  • EMLX

API Usage and Implementation

You have to add API reference in your project either by downloading the DLL or by installing NuGet package. Now, few lines of code and that’s it.

You will get all details in the output PDF like recipients, subject or any image attachment.

Have a look at the converted PDF file

Explore our open source GitHub example project and documentation. If you still face any issue, post it on forum.

Share on FacebookTweet about this on TwitterShare on LinkedIn
Posted in GroupDocs.Conversion Product Family | Tagged , , , | Leave a comment

How to Redact in Word Processing Documents Using C# or Java Programming

How to redact in Word – The redacted meaning is extensively searched over the internet now a days . C# or Java programming developers might want to upgrade their editing apps by adding a feature to redact in Word, redact PDF or they might need some redacted text in many kinds of documents. If you are a developer and want to enable text redaction in your app , the stuff below is definitely for you.

Why redacted information in the documents is remarkable

how to redact in word

A redacted document contain touchy data is vital to each person, extending from a sole owner to government offices. Nobody likes it when their private or secret data fall into some inappropriate hands. This routine is likewise regular among legal counselors. Nevertheless, how to redact in Word documents is not so simple. The vast majority have committed errors previously in this regard. Utilizing incorrect strategies to redact your data will prompt the spillage of your private information. Many people are using wrong techniques like erasing, changing the text color to white or utilizing obsolete apps to make redacted text in their documents.

The following section shows that how Java orC# Programming developers can do it using their coding editors.

Text redaction in your word documents using C# or Java APIs

Using GroupDocs.Redaction premise APIs you can simply write a program to redact the information in variety of documents or you might want to add text redaction feature in your editing apps. If you are going to make a
redaction software, you might be interested in metdata redactions, image redactions, annotation redactions,or spreadsheet redactions.

Lets learn how simply the C# or Java Programming developers can write the code to redact in Word documents

The GroupDocs.Redaction APIs enable you the text redaction in two ways”

  1. Exact phrase redaction
  2. Using regular expression

Using exact phrase redaction

The example below shows textual redaction by replacing personal exact phrase “John Doe” with “[personal]”:

using (Redactor redactor = new Redactor(@"sample.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[personal]")));
  redactor.Save();
}

Java code will look like this:

final Redactor redactor = new Redactor("sample.docx");
try
{
    redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[personal]")));
    redactor.save();
}
finally { redactor.close(); }

For a case sensitive redaction, you can pass a constructor parameter and corresponding public property like:

using (Redactor redactor = new Redactor(@"sample.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[personal]")));
  redactor.Save();
}

Java code will look like this:

final Redactor redactor = new Redactor("sample.docx");
try
{
    redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[personal]")));
    redactor.save();
}
finally { redactor.close(); }

If you need a color box over the redacted text, you can use color instead of replacement string. The redaction will erase matched text and put a rectangle of the specified color in place of redacted text:

using (Redactor redactor = new Redactor(@"sample.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save();
}

Java code will look like this:

final Redactor redactor = new Redactor("sample.docx");
try
{
    redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(java.awt.Color.RED)));
    redactor.save();
}
finally { redactor.close(); }

Using regular expression

The example below shows the redact out any text, matching “2 digits, space or nothing, 2 digits, again space and 6 digits” with a blue color box:

using (Redactor redactor = new Redactor(@"sample.docx"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions(System.Drawing.Color.Blue)));
  redactor.Save();
}

Java code will look like this:

final Redactor redactor = new Redactor("sample.docx");
try
{
    redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions(java.awt.Color.BLUE)));
    SaveOptions saveOptions = new SaveOptions();
    saveOptions.setAddSuffix(true);
    saveOptions.setRasterizeToPDF(false);
    redactor.save(saveOptions);
}
finally { redactor.close(); }

The complete ready to run code sample is available on GitHub. You can explore API references for both Java and .NET versions. The GroupDocs also offers a one month free trial for both Java and .NET APIs. Please visit here to get the trial license.

Share on FacebookTweet about this on TwitterShare on LinkedIn
Posted in GroupDocs.Redaction Product Family | Tagged , , , , , , , , , , , , | Leave a comment

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.

Share on FacebookTweet about this on TwitterShare on LinkedIn
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.

Share on FacebookTweet about this on TwitterShare on LinkedIn
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.

Share on FacebookTweet about this on TwitterShare on LinkedIn
Posted in GroupDocs.Parser Product Family | Tagged , , , | Leave a comment

25 percent off GroupDocs.Total – groupdocs.com Newsletter December 2019

  LinkedIn Google+ Twitter Facebook
Monthly Newsletter

December 2019

Share on FacebookTweet about this on TwitterShare on LinkedIn
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.

Share on FacebookTweet about this on TwitterShare on LinkedIn
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:

Share on FacebookTweet about this on TwitterShare on LinkedIn
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.

Implementation

  • 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.

Share on FacebookTweet about this on TwitterShare on LinkedIn
Posted in GroupDocs.Conversion Product Family | Tagged , , , | Leave a comment