Multi Connection and Group Fetch support available in Aspose.Email 19.4

Share on FacebookTweet about this on TwitterShare on LinkedIn

Hello Guys! In today’s blog, I am going to give you walk through of many new exciting features and enhancements carried out in latest Aspose.Email 19.4. The best thing about Aspose team is that it publishes both .NET and Java based API having same features sets every month simultaneously. This way, the users of both API’s can make use of new features irrespective of application and platform type. In following sections, I will shed some light on new features available in API and how to use them.

Working with MultiConnection

The ImapClient, SmtpClient and Pop3Client provide a UseMultyConnection property which can be used to create multiple connections for heavy operations. It allows one to set the number of connections to be used during multiconnection mode by using ImapClient.ConnectionsQuantity, SmtpClient.ConnectionsQuantity and Pop3Client.ConnectionsQuantity respectively. The use of MultiConnection approach may increase the performance but it is not guaranteed. With this feature support, you can perform activities like:

  • Listing messages

  • Add multiple messages

  • Sending emails using MultiConnection

In the following example Pop3Client is being used to open multi connection and listing messages. The UseMultyConnection property is used to create multiple connections by setting the number of connections to be used during multiconnection mode by using Pop3Client.ConnectionsQuantity.

The similar Java based example for this is:

One can add multiple messages by using the AppendMessages method provided by the ImapClient classes. The AppendMessages method accepts a list of MailMessage and adds it to the current folder if the folder is not provided as a parameter.The following example shows how to add multiple messages by using the MultiConnection mode.

The similar Java based example for this is:

In the following example, MultiConnection mode has set in SmtpClient for sending multiple messages.

The similar Java based example for this is:

Group Fetch Message

Pop3Client and ImapClient provide a FetchMessages method which accepts iterable of Sequence Numbers or Unique ID and returns a list of MailMessage. The following example demonstrates the use of the FetchMessages method to fetch messages by Sequence Numbers and Unique ID.

The similar Java based example for this is:

Connecting to Server in Read-Only mode

The ImapClient class provides a ReadOnly property which when set to true, indicates that no changes should be made to the permanent state of the mailbox. In the following example we have demonstrated the use of ImapClient.ReadOnly property. In example, it gets the count of unread messages, then fetches one message and then gets the count of unread messages again in read-only mode. The count of the unread messages remains the same indicating that the permanent state of the mailbox was not changed.

The similar Java based example for this is:

Ability to save Contact in Version 3 VCF Format

In this new version, you have ability to save contact in version 3 VCF format. In order to save the contact in version 3 VCF format, one need to use the VCardVersion enumerable to set the VCardSaveOptions.Version property. In the following example, the use of VCardVersion enumerable to save the contact VCF version 3 format has been demonstrated.

The similar Java based example for this is:

Accessing List-Unsubscribe Header Information

The List-Unsubscribe header contains the URL for unsubscribing from email lists e.g. advertisements, newsletters, etc. In order to get the List-Unsubscribe header, one need to use the ListUnsubscribe property of the ImapMessageInfo class. The following example demonstrate the use of the ListUnsubscribe property to get the List-Unsubscribe header.

The similar Java based example for this is:

There’s many other features, enhancement, and bug fixes included in this release. Here you can get the detail!

When time allows you can check out API examples at Github, talk about this release and other API related issues in our forum.

Posted in Conholdate.Total Product Family, Aspose.Email Product Family | Tagged | Leave a comment

Aspose Helps DTS Manage PowerPoint Slides

Share on FacebookTweet about this on TwitterShare on LinkedIn

As a business, we recently embarked on a journey of developing our own web apps to help our customers and streamline some of our internal workflows. Having employed an internal software developer, we started building an application to help our customers (typically trainers, coaches, consultants and facilitators) access high-quality workshop content that was professionally designed and easy to use.

Our goal was to create a system that managed our several thousand workbook activity pages and create a marketplace for thought leaders to buy and sell content. The app would build a PDF workbook from a series of single workbook activity pages selected and ordered by the user.

We had always wanted to include PowerPoint slides with the system, but with an aggressive launch target, we had almost abandoned the idea. Then our developer found Aspose Slides. The API quickly provided us with a seamless integration and the functionality we needed. By investing a day in the integration, we saved a few weeks of Dev time that could be spent on other critical components of our application.

Some notes from our developer:

“We initially tried using PHPPresentation by PHPOffice to handle merging and splitting of our slides, with no luck. It wasn’t able to manipulate slides as we hoped it would. We also tried Apache POI using the php-java-bridge, but this was quite a messy solution. Their APIs were not as extensive or clean as Aspose Slides Java for PHP. Using the php-java-bridge we were able to build a fast application that can move slides between presentations and add in a copyright line to each slide’s footer. It’s also great to know that we are able to achieve any other PowerPoint editing the app might need to handle in future.”

In our first iteration of our App we have used only a few basic functions like merging and splitting PowerPoints. Utilising the Aspose API has opened up a number of other opportunities for us to develop future features in our application that will allow our users to manipulate, create and edit PowerPoint too. This will be a valuable and desirable feature set in future versions of our App.

While we could have spent the time to develop our own code to manipulate the PPT files, licensing Aspose accelerated our development process and ultimately our launch.

As we launch the App, we know that our users will love that they have a ready-to-use PowerPoint deck to accompany their workbook. Thanks, Aspose!

For more info, checkout Aspose Slides

Posted in Conholdate.Total Product Family, Aspose.Total Product Family | Tagged | Leave a comment

Use 64-bits Aspose.Cells for C++ 19.4 lib in NuGet repos. that works equally well in debug and release modes

Share on FacebookTweet about this on TwitterShare on LinkedIn

You cannot deny some useful features of NuGet repos. Obviously using the NuGet you can have simple and portable compilation of your codes. Without NuGet, you have to load library for all developers before compiling it on their environments. Surely, for industrialization, it would be simple to have the library on NuGet gallery.

Previously we included 64-bits lib (for VS2017) package in NuGet repos. But there was a drawback in it for certain users. We found x64 based program (using the Aspose.Cells for C++ library) compiles fine in Release mode but fails in Debug mode. Some users wanted to use it in debug mode for their scenarios, they needed some objects like lists which were not accessible in Release mode. In this release, we have gone one step further. We have published the new library in NuGet repos. which can make your program compiled successfully in Debug mode as well.

We also fixed a bug in formula calculation engine where it was throwing an exception and was terminating the program. The formula calculations is another reliable aspect provided by component and you may utilize it efficiently to calculate the formulas/functions in the spreadsheet.

I would recommend you to try the release Aspose.Cells for C++ v19.4. And, if you have more time, browse Developers’ Guide for your complete reference on what you can deliver using the API. You are always welcome to share your review, concerns or feedback on forums.

Posted in Conholdate.Total Product Family, Aspose.Cells Product Family | Tagged | Leave a comment

Basic Map rendering and export to SVG using Aspose.GIS for .NET 19.4

Share on FacebookTweet about this on TwitterShare on LinkedIn

So when we talk about some GIS API, rendering advanced map files seems to be the first thing which comes in mind. Good news is that the new release  Aspose.GIS for .NET 19.4 contains this feature. This is not all about this release as there are many other upgrades as well. You should go through the release notes to get a complete list of what is new and fixed. Let us see what is inspiring there in this release.

Basic map rendering

It seems you were waiting since long to render maps using Aspose.GIS and that’s it, the wait is over as this feature is provided in the latest API to render Shapefile, FileGDB, GeoJSON, KML or other supported file formats to SVG. We have put special effort to keep this process simple i.e. render maps using very few lines of code for the sake of simplicity and quick results without setting a large number of properties. Just have a look at how simple is it to render a map.

See how easy it is by just setting the resultant image resolution, selecting the driver according to the input file type and that’s all. The map is ready to render as SVG.

Here is the output of the program:

You may be worried about the look and feel like its just a black and white blueprint. Is this the new feature which was awaited since long? No! this is just the simplest output to show the functionality. You can customize rendering and feature styles in order to achieve the look you want. Here is an advanced sample code demonstrating more features in this new release.

Let us see how the styles will change the output using above sample code:

Wow! great. Now you can start working with this feature using your sample maps. Is it?

To understand the details of the code please visit this article in the documentation section.

Datum conversion due to incomplete SRS WKT

Aspose.GIS has introduced a new feature of converting between datums when SRS WKT definition is not complete. In order to transform between geographic SRS, TO_WGS84 parameters are required. If they are present in WKT definition, Aspose.GIS can transform between any geographic SRSs. If they are not present, Aspose.GIS tries to detect TO_WGS84 parameters by SRS name. If this fails, Aspose.GIS tries to find SRS with the same parameters and similar datum name, in order to take TO_WGS84 parameters from a similar SRS.

Other upgradations

Following up gradations are done to make the library more user friendly and error free.

  • Some extra content at the end of the document was reported while overwriting an existing file. This problem is no more there.
  • There were some issues while specifying paths in the same folder as the executable, however, this issue is resolved now.
  • There were instances where misleading error messages were thrown for a missing file. It was like “Unexpected end of file” which was not indicating the actual issue. This message is corrected now.
  • There was an un-necessary constructor in the GPX driver class which is removed now to avoid any confusion.

Hope you got a fair idea about this new release. Enjoy using this latest version and share your thoughts to enhance it on our support forum.

API Resources

Posted in Conholdate.Total Product Family, Aspose.GIS Product Family | Tagged | Leave a comment