Support of OpenType Fonts and Kerning Feature, Detect SmartArt Shape, Restart List Number using LINQ Reporting, Dealing with Linked Textboxes, and Basic Reader and Writer for Markdown

Share on FacebookTweet about this on TwitterShare on LinkedIn
Aspose.Words for .NET logo

Hi guys! We are gratified to announce the new version of Aspose.Words for .NET i.e. 19.7. You will be happy to know that we have added interesting features in this release e.g. restart list number using LINQ Reporting, working with linked textboxes, detect SmartArt in Word document etc. This release is available for download and to be used where .NET is installed.

Download Aspose.Words for .NET 19.7

Let’s check out what are the new features and how they work.

Support of OpenType Fonts and Kerning Feature

OpenType is a font format for scalable computer fonts and introduced to provide better support for languages and writing systems as compared to PostScript and TrueType. We have added TextShaperFactory property in LayoutOptions class. This property is used to get or set ITextShaperFactory implementation used for Advanced Typography rendering features.

How does this feature work? It’s very simple. Please check the code example and detail in the following article.

How to Use OpenType Features

Detect SmartArt Shape

Starting from this release, you can detect the SmartArt shape in the Word document. You need to simply use the Shape.HasSmartArt property. This property returns true if this Shape has a SmartArt object. Sounds good?

Restart List Numbering using LINQ Reporting

With LINQ Reporting Engine, you can build reports using an extended set of reporting features. You can create lists using LINQ Reporting. In some cases, it is needed to restart the list numbers. Now, you can achieve it using Aspose.Words. We have added this exciting feature in this release.

How does it work? It is well explained in the following article. Please read it.

Restarting List Numbering Dynamically

How awesome is that? I hope you have liked it.

Dealing With Linked Textboxes

This is another amazing feature that has been added in this release. Now, you can create link between textboxes, check linked textboxes sequence, and break the link between them. We have added IsValidLinkTarget, Next, Previous, BreakForwardLink, and Parent properties in TextBox class. For more detail, please read the following article.

Working with Linked TextBoxes

Keep reading…

Work with Revision Group

A new property Revision.Group has been added in this release to get the revision group. It is used to get detail if the revision belongs to any group. For more detail and code example, please read the following article.

Revision Group Details

Implemented Basic Reader and Writer for Markdown Features

Markdown is a simple way to format plain text that can easily be converted to HTML. In this release we have added support of headings, block quotes, horizontal rules, bold emphasis, and italic emphasis Markdown features. For complete detail, please read the following article.

Working with Markdown Features

We suggest you please check the release notes of Aspose.Words for .NET 19.7 for complete detail of API changes.

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

Posted in Aspose.Words Product Family | Leave a comment

Enhancements for DataMatrix barcode using Aspose.BarCode 19.5

Share on FacebookTweet about this on TwitterShare on LinkedIn

Here comes the new release Aspose.BarCode 19.5 for Java and .NET containing a lot of enhancements. This time we have targetted the DataMatrix barcode reading and IMB barcode recognition. For detailed information about the enhancements in this release follow the release notes for Java and .NET. Let us have a look at what is new there in this release.

Enhancements in this release

As usual we have put lot of effort for bringing our product to exceed the customer satisfaction. There were few shortcomings which were observed while working with the library. Enhancements are done to tackle all these shortcomings and new version is far better for handling these situations.

Upgradations while reading the DataMatrix barcode

Reading a barcode is quite tricky and sometimes the minutest dots can result into wrong values. Similarly we observed issues in reading the DataMatrix barcode from a 200 DPI TIFF image. This issue was investigated in detail and all the issues are handled now as follows:

  • We have supported the recognition if invasion in the quite zones of data matrix.
  • Resolved the issues incurred due to low scanner resolution which produces lot of errors.
  • Effort is made to recognise black dots around the barcode.
  • Irregular grids were also causing issues. We have identified them and these are no more an issue now.
  • There were some problems in the bits in the data matrix recognition which is sorted out and results are amazing now.

Barcode recognized on low-resolution TIFF

This is very common that we come across barcodes in tiff formats which have very low resolutions. In this case sometimes we may get garbled data out of these barcodes. An indepth investigation is done in this regard and a new public property AllowOneDWipedBarsRestoration has been added to the QualitySettings. It allows engine for 1D barcodes to recognize barcodes with single wiped/glued bars in pattern. Property is enabled by default in HighQuality, MaxBarCodes modes. Currently the property is used for Code128, GS1Code128, SCC14, EAN14, SSCC18, AustralianPosteParcel, SwissPostParcel barcode types. To use this feature, just set this property to true while reading the barcode from TIFF image as follows:

reader.QualitySettings.AllowOneDWipedBarsRestoration = true;

Other enhancements

  • IMB barcodes were failing sometimes to be recognized. Enhancements are done to overcome this issue.
  • There was a need to enhance the recognition capability in .NET Core environment, which is also done successfully.

Aspose.BarCode for Java/.NET Resources

You may visit following links for documentation, source code, API reference and other details of this product.

Similarly, for downloading this version using NuGet package manager visit here and for Java user it is available on Maven also.

Posted in Aspose.BarCode Product Family | Leave a comment

Aspose.Page is launched with the features of Aspose.XPS and Aspose.EPS

Share on FacebookTweet about this on TwitterShare on LinkedIn
This image has an empty alt attribute; its file name is aspose_page-150x150.png

It has already been announced in pre-release blog post of Aspose.Page API that it will be a merger of both Aspose.XPS and Aspose.EPS APIs. Well, Wait is over now. Aspose.Page has been rolled out and available to be used in .NET and Java Applications. It is loaded with the features set earlier offered by Aspose.EPS and Aspose.XPS. Since both Aspose.EPS and Aspose.XPS have been merged as one Aspose.Page API, they will be discontinued and removed from APIs’ catalog offered by Aspose. They will no longer be part of Aspose.Total package and no updates or revisions will going to be released for them.

You may use Aspose.Page for .NET/Java to work with both XPS and EPS documents. Using the API you can create, edit and save existing as well as new XPS documents. Furthermore, you can convert XPS and EPS documents into PDF and Images. Let’s dive into further information which will be helpful setting up the API and replace it with Aspose.XPS and Aspose.EPS in your existing applications.

Using The API Classes

Aspose.Page offers similar classes earlier offered by Aspose.XPS and Aspose.EPS. You can simply add reference to Aspose.Page in your .NET or Java project and include following namespaces. You would not need to change much lines of code in your program to get it working without any error.

[.NET]

[Java]

Furthermore, API Reference section can be visited in order to get full details of classes offered by the API:

Code Samples and Documentation

Like other Aspose APIs, Aspose.Page has been released with fully fledged code samples in C#.NET and Java which will help you understand and implement the API functionality easily and efficiently. Code samples and example projects have been hosted over GitHub and they are free to access:

Every offered feature is elegantly documented and code samples have been showcased with full details of functionality in documentation section of Aspose.Page for .NET Java. In order to make exploring better for documentation, following is the list which is categorized on the basis and Aspose.XPS and Aspose.EPS features which are now offered by Aspose.Page:

XPS Features:

EPS Features:

Installation and Use of Aspose.EPS and Aspose.XPS Licenses

Installation or setting up the API to work with is quite similar to other .NET and Java APIs offered by the Aspose. As far as license of the API is concerned, existing users of Aspose.EPS and Aspose.XPS APIs have been offered with best deal i.e. they will be able to use Aspose.Page with their existing licenses. Please note that Aspose.Page will support existing licenses (i.e. of Aspose.XPS and Aspose.EPS) until they are expired. You will have to renew your license and get new Aspose.Page license to keep using API without any limitation.

While using the API first time and in case you do not have license either for Aspose.XPS or Aspose.EPS, it will require a valid license to use it without any limitation. You can also apply for a 30-days temporary license in order to evaluate the API without any limitation.

Release Notes and Downloads

Since Aspose.Page for .NET/Java has been published, you can download it and use it in your environment. As always recommended, please go through following release notes pages of the API before using.

API can be downloaded using following links:

We really hope that you have found every detail to set up this new API and work with it. In case we have missed something or your have any inquiry about Aspose.Page, please feel free to reach us over Aspose.Page Support Forum. Stay tuned with us in order to keep yourself updated with latest news about Aspose APIs.

Posted in Aspose.Total Product Family, Aspose.Page Product Family, Asad Ali | Leave a comment

Upcoming Release of Aspose.PSD for Java

Share on FacebookTweet about this on TwitterShare on LinkedIn
Aspose.PSD for Java logo

We are pleased to share that Aspose.PSD API is coming soon to Java platforms with the name of Aspose.PSD for Java. It will be soon available soon for download and to be used in applications. Aspose.PSD (written in Java) is designed to be used with Java language in variety of platforms like Windows, Linux, MAC and UNIX. Aspose.PSD can be used with any kind of application from console based to web based applications. The documentation shall provide fully featured demos and working examples written in Java for a quick start of API. The demos help developers gain a good understanding of the component’s features quickly.

Features offered by Aspose.PSD for Java

Aspose.PSD for Java is product that allows an extensive manipulation of PSD file formats. The product does not require Adobe Photoshop to be installed. Aspose.PSD for Java allows editing the PSD files, updating layer properties, adding watermarks, performing graphics operations or converting one file format into another. This product allows different automation scenarios that help developers on their way.

Currently Aspose.PSD for Java supports PSD and PSB file formats for loading and manipulation. Future versions will allow loading of more PSD file formats. Aspose.PSD for Java allows export to various raster file formats such as Tiff, Jpeg, Jpeg2000, Png, Gif, Bmp and more file formats supported for export will be added. The product uses algorithms which allow performing editing of PSD files in efficient way and maintains good performance. The product is actively developed and many useful features will be added to support the market demands.

  • Load and save PSD and PSB File formats.
  • Data processing for PSD and PSB File formats.
  • PSD Compression.
  • Managing raster image formats.
  • Conversion from Photoshop file formats to raster images.
  • Drawing Features.
    • Large images.
    • Rotate.
    • Flip.
    • Scale.
    • Cache system.
    • Custom user images.
    • Read/Write Exif data.
    • Dithering.
    • Crop.
    • Vector to raster export .
    • Brightness, contrast, gamma update.
    • Xmp data support.
    • Clipping to rectangular region.
    • Matrix transformations.
    • Drawing and filling of basic shapes (Line, Polygon, Rectangle, Cubic Bézier, Curve, Arc, Ellipse, Pie, Path).

Initial Release Availability

We are currently working over finalizing the API release process and intend to share this publically soon. So, stay tuned for further news about this new upcoming API. You can reach us on Aspose.PSD forum for your queries/inquiries related to the API and we will be more than happy to assist you in this regard.

Posted in Aspose.PSD Product Family | Leave a comment

WMF/EMF cropping and adding Raster image to Vector image support available in Aspose.Imaging

Share on FacebookTweet about this on TwitterShare on LinkedIn

Hello readers, in this blog I would like to introduce you with new features included in Aspose.Imaging 19.6. The good thing about Aspose team is that it releases both .NET and Java based APIs simultaneously every month. This way both API user remain recurrent with changes being made in APIs every month.

In subsequent sections, I am going to give you a walk through of what new features have been included in API.

Cropping EMF/WMF Images

Image cropping usually refers to the removal of the outer parts of an image to help improve the framing. Cropping may also be used for to cut out some portion of an image to increase the focus on a particular area. The EmfImage\WmfImage class provides Crop method that accepts an instance of the Rectangle class. One can cut out any portion of an image by providing the desired boundaries to the Rectangle object.

The following examples demonstrate cropping of a rectangular region in EMF and WMF images.

The similar Java based implementation is like as under:

Drawing Raster Images on SVG, EMF and WMF

Now, Aspose.Imaging supports drawing Raster(JPEG, GIF, TIFF, BMP) images to Vector (SVG, EMF, WMF) images. Raster images are based on pixels and thus lose clarity when scaled, while Vector based images can be scaled indefinitely without degrading quality. Using Aspose.Imaging you can draw a raster or vector image on another vector image.

Adding Vector Image on another Vector Image

In following example, I have shared the mechanism for adding a Vector image on another Vector image.

The similar Java based implementation is like as under:

Adding raster Image on SVG

Using Aspose.Imaging, you can draw raster image on SVG. In following example, I have shared the mechanism for adding a raster image on another SVG image.

The similar Java based implementation is like as under:

Adding raster Image on EMF

Using Aspose.Imaging, you can draw raster image on EMF. In following example, I have shared the mechanism for adding a raster image on another EMF image.

The similar Java based implementation is like as under:

Adding raster Image on WMF

Using Aspose.Imaging, you can draw raster image on WMF. In following example, I have shared the mechanism for adding a raster image on another WMF image.

The similar Java based implementation is like as under:

Improved image processing

In this new release we have improved the API performance in terms of adding support for multi-threading to manipulate the images along with options for optimize memory usage during rendering

Image processing using multi-threading

Aspose.Imaging is multi-thread safe as long as only one thread works on a Document at a time. It is a typical scenario to have one thread working on one document. In the following example, we have demonstrated use of parallel DJVU images processing using multi-threading.

The similar Java based implementation is like as under:

Optimizing Memory Usage

When reading a big PNG file, the total amount of RAM the process will take is always a concern. There are measures that can be adopted to cope with the challenge. Aspose.Imaging provides some relevant options and API calls to lower, reduce and optimize memory use. Moreover, it can help the process work more efficiently and run faster.

The following example shows how to read a large PNG file in optimized mode.

The similar Java based implementation is like as under:

Wait, 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 Aspose.Imaging Product Family | Leave a comment

Merge Templates using Aspose.HTML for .NET

Share on FacebookTweet about this on TwitterShare on LinkedIn

Of all the miracles Po had seen in the time and space of its death, Po thought this–the absorption of another, the carrying of it–was the most bewildering and remarkable of all.


– Lauren Oliver, Liesl & Po

Many great things in the world are the result of merging. Nature, animal, people, and technology merge together to produce unmatchable results.

At Aspose we merge templates to produce robust documents. HTML is the standard markup language for creating web pages and XML and JSON are data sources for storing and transporting user data. By merging HTML with the user data source, you can get highly effective dynamic HTML documents.

Using Aspose.HTML for .NET you can create HTML Templates and Merge them with data sources using ConvertTemplate method in a single line of code.

ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, outputPath)

HTML Template

You can create a simple HTML template for working with user data:

JSON Data

For the given HTML template you can have the following JSON data:

Output

By merging the given JSON and HTML using Aspose.HTML for .NET, you’ll have the following resultant HTML file:

For further details about template merging using Aspose.HTML for .NET, please feel free to visit this documentation article.

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

Support of Jasper Server 7.2.0, Improved DOCX Compatibility Option, and Set Page Margins

Share on FacebookTweet about this on TwitterShare on LinkedIn

Wait is over guys! We are pleased to announce new release of Aspose.Words for JasperReports i.e. 19.6.

Download Aspose.Words for JasperReports 19.6

Lets check out what’s new for you in this release.

Added Support of Jasper Server 7.2.0

Now, you can use Aspose.Words for JasperReports with the latest version of Jasper Server 7.2.0. Enjoy the features of Aspose.Words for JasperReports.

Upgraded to Latest Version of Aspose.Words for Java 19.6

We have upgraded the latest version of Aspose.Words for JasperReports to the latest version of Aspose.Words for Java i.e. 19.6.

Improved DOCX Compatibility Option

In this release, we have improved the DOCX compatibility option. Now, you can set it for MS Word 2019. For more detail, please read the following article.

Compatibility Mode for DOCX output

Set Page Margins of Exported Document

We have added new feature in this release to increase or decrease page margins of exported document. Please read the following article for more detail.

Change Margins of output Document

For more about this release, please check the release notes. When time allows you can check documentation of Aspose.Words for JasperReports and talk about this release and other related issues in our forum.

Posted in Aspose.Words Product Family | Leave a comment

Compare Two Word Documents by using Aspose.Words for C++ 19.6

Share on FacebookTweet about this on TwitterShare on LinkedIn

In this post, we will see how to Compare two Word Documents by using Aspose.Words for C++ 19.6 API.

You can use Document.Compare method to compare two Word documents to see the difference between them. This method mimics Microsoft Word’s Compare feature and produces document difference as a number of edit and format revisions. The main idea is that if we reject all revisions then we get a document which is equal to the original document. On the contrary, if we accept all revisions then we get the final (comparison target) document.

Limitations

There are a few general limitations:

  • The document being compared must not have revisions before this method is called.
  • Markup – is limited to SmartTag only. Other markups are ignored completely.
  • DML- Fallback shapes are compared instead of actual DML comparison.

There is an important note regarding “equal”. Actually “equality” means here that the comparison method is not able to represent changes as revisions. In general, it means that both document text and text formatting are the same. But there can be other difference between documents. For example, Word supports only format revisions for styles and we can’t represent style insertion/deletion. So documents can have a different set of styles and the Compare method still produces no revisions.

Following example shows normal comparison case.

Below example shows how to test that Word Documents are “Equal”.

See Also Useful Links

The resources, you may need to accomplish your tasks:

Keeping the Aspose tradition, you are welcome to shape the upcoming releases of Aspose.Words for C++ API by posting your suggestions and concerns in the Aspose.Words for C++ support forum.

Posted in Aspose.Words Product Family | Leave a comment

Support for adding image as blob in Aspose.Slides

Share on FacebookTweet about this on TwitterShare on LinkedIn

Hi guys! In today’s blog I would like to share my experience after using latest Aspose.Slides 19.6 which has been enriched with improved image management support features. The best thing about about Aspose.Slides is that it has a monthly release where .NET, Java, Android via Java and C++ based APIs are published together. So, whats available in .NET based API is also available for Java, Android via Java and C++ based APIs. This way the users feels comfortable with API they are using and with same features available across the board.

In following sections, I am going to give you a walk through of what new features have been included and what improvements have been carried in API.

Add Image as BLOB in Presentation

When dealing with PowerPoint presentation working with images in presentation play a pivotal role. Some times there is requirement of adding huge images in presentation. MS PowerPoint include such images as blobs. We have included a new method to IImageCollection interface and ImageCollection class to support adding large image as streams to treat them as BLOBs.

This example demonstrates how to include the large BLOB (image) and prevent a high memory consumption.

The similar Java based example for this is:

The similar C++ based example for this is:

Get Effective Background Values Of Slide

Now, Aspose.Slides provides support to represent effective background of slide which contains information about effective fill format and effective effect format. To achieve this, IBackgroundEffectiveData interface and its implementation by BackgroundEffectiveData class have been added.

CreateBackgroundEffective method has been added to IBaseSlide interface and BaseSlide class. This method allows to get effective values for slides background. The following example shows how to get effective background values of slide.

The similar Java based example for this is:

The similar C++ based example for this is:

Saving Progress Updates in Percentage during rendering

When using, Aspose.Slides some times one need to save huge presentation files or convert huge presentation files to PDF. In such situation, the API user may experience wait condition till the time the saving or rendering process is completed and such situation is sometimes annoying. In order to mitigate this a new IProgressCallback interface has been added to ISaveOptions interface and SaveOptions abstract class.IProgressCallback interface represents a callback object for saving progress updates in percentage.

The following example exhibit the use of new future while exporting to PDF.

The similar Java based example for this is:

The similar C++ based example for this is:

Wait, 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 Aspose.Slides Product Family | Leave a comment

Improved Text Alignment in Exported Document and Upgraded Aspose.Words for Reporting Services to Aspose.Words for .NET 19.6

Share on FacebookTweet about this on TwitterShare on LinkedIn
Aspose.Words for SSRS icon

Hi guys! We are pleased to announce new release of Aspose.Words for Reporting Services. We have upgraded it to the latest version of Aspose.Words for .NET 19.6. In this release, we have fixed text alignment issue that is caused when HTML formatting is used in RDL. We have also fixed NullReferenceException that is thrown while exporting RDLC. Please check the release notes for more detail.

You can download the latest release of Aspose.Words for Reporting Services 19.6 from the following link:

Download Aspose.Words for Reporting Services 19.6

When time allows you can check documentation of Aspose.Words for Reporting Services and talk about this release and other related issues in our forum.

Posted in Aspose.Words Product Family | Leave a comment