gzip Compression Format Supported by Aspose.ZIP for .NET 19.8

Share on FacebookTweet about this on TwitterShare on LinkedIn

Guys, let’s check out what’s new for you in Aspose.ZIP for .NET 19.8 release.

Retrieve gzip Archive Name

The following code example shows how to open an archive from a stream and retrieve its name.

Compress into a .gz Archive

The following code example shows how to compress a file using GZipArchive instance.

Open gzip Archive for Processing

The following code example shows how to open a gzip archive.

Moreover, to learn how to extract/copy a .gz file into a MemoryStream, please refer to the following article:
Working with gzip Archives

Extraction of Huge Size Archives Supported

Previously, Aspose.ZIP for .NET API was unable to extract a .zip archive with huge size when it contains several entries and compressed size of first entry is above 4 GB. We have fixed this issue in Aspose.ZIP for .NET API 19.8.

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.ZIP for .NET API by posting your suggestions and concerns in the Aspose.ZIP for .NET support forum.

Posted in Aspose.ZIP Product Family | Leave a comment

Aspose.Words for C++ and Aspose.Cells for C++ Security Updates

Share on FacebookTweet about this on TwitterShare on LinkedIn

Aspose makes it a top priority to ensure that our products are free of any bugs which may cause security issues for customers. Our internal teams carefully analyze all releases for possible vulnerabilities and to keep on top of emerging threats.

Recently we were made aware of two vulnerability reports from security researcher Cisco Talos.
Unfortunately, there was a long delay in us receiving these reports because Cisco Talos failed to get in touch via one of the many channels on our website, but instead used incorrect email addresses. However, as soon as we were independently made aware of these reports our development teams responded quickly and we were able to release fixes to these issues within 5 business days.

All customers affected were alerted via email, however, the issues are summarised below:

Aspose.Words for C++ 19.8 or earlier
CVE Number: CVE-2019-5041
Description: An exploitable Stack Based Buffer Overflow vulnerability exists in the EnumMetaInfo function of Aspose Aspose.Words for C++.
Reported to Aspose: 23-Aug-2019
Fix Released: 29-Aug-2019

Aspose.Cells for C++ 19.4 or earlier
CVE Number: CVE-2019-5041, CVE-2019-5032
Description: An exploitable out-of-bounds read vulnerability exists in the Number record parser and LabelSst record parser of Aspose.Cells for C++.
Reported to Aspose: 23-Aug-2019
Fix Released: 29-Aug-2019

It is our assessment that the vulnerabilities would be extremely difficult for an attacker to make use of in the real world, but that does not stop us taking the issues seriously and addressing them quickly. We encourage customers of Aspose.Words for C++ and Aspose.Cells for C++ to download the latest versions from the below links:

By keeping their Aspose product support & maintenance subscription up-to-date, customers can ensure they always to get instant access to the latest bug and security fixes, as well as great new features added in every release.

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

Draw Shapes in Page using Aspose.Diagram for .NET

Share on FacebookTweet about this on TwitterShare on LinkedIn

Microsoft office is one of the most powerful drawing tools in the market. If you want to work with it programmatically and develop Add-Ons, it becomes a hassle. Often times it becomes even hard to perform a basic task – like drawing a shape inside a page. Well, you don’t need to worry much! It’s as easy as pie when you draw shapes using Aspose.Diagram for .NET.

Using Aspose.Diagram for .NET, you can not only draw basic but complex shapes like Bezier, Spline, Polyline and using just a couple of lines of code.

Let’s draw some shapes in a page using Aspose.Diagram for .NET

Draw Bezier

Drawing Bezier is pretty simple, you can draw it using the DrawBezier method.

// Load diagram
Diagram diagram = new Diagram();
// Initiazlie a new PointF
PointF[] ps = new PointF[] { new PointF(1, 1), new PointF(2, 2), 
                             new PointF(3.79949292203676f, 0) };
// Draw brezier in diagram
diagram.Pages[0].DrawBezier(1, 1, 2, 2, ps);
// Save diagram
diagram.Save("DrawBezierInPage.vsdx", SaveFileFormat.VSDX);

The following is the resultant bezier shape.

Draw Polyline

Similarly, drawing polyline is even simpler, you can draw it using the DrawPolyline method.

// Load diagram
Diagram diagram = new Diagram();
// Initiazlie a new PointF[]
PointF[] ps = new PointF[] { new PointF(1, 1), 
                             new PointF(2, 2), 
                             new PointF(3.79949292203676f, 0) };
// Draw polyline in page
diagram.Pages[0].DrawPolyline(1, 1, 2, 2, ps);
// Save diagram
diagram.Save(dataDir + "DrawPolylineInPage_out.vsdx", SaveFileFormat.VSDX);

The following is the resultant polyline shape.

Draw Spline

As explained earlier drawing shapes using Aspose.Diagram for .NET is a piece of cake, you can draw spline in a page using the DrawSpline method.

// Load diagram
Diagram diagram = new Diagram();
// Initiazlie a new PointF[]
PointF[] ps = new PointF[] { new PointF(1, 1.3270758925347308f),
                 new PointF(2.2926845121364643f, 4.3581517392187368f),
                 new PointF(4.6526026522346893f, 5.4640748257705201f),
                 new PointF(6f, 7.327075892534732f) };
// Draw Spline in diagram
diagram.Pages[0].DrawSpline(1, 1, 2, 2, ps);
// Save diagram
diagram.Save(dataDir + "DrawSplineInPage.vsdx", SaveFileFormat.VSDX);

The following is the resultant spline shape.

For more details, please feel free to visit documentation. To explore more examples you can access our open source examples and in case you would have any query, please feel to contact us using our forum.

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

Support of JasperReports 6.9.0 in Aspose.Words for JasperReports 19.7

Share on FacebookTweet about this on TwitterShare on LinkedIn

It is our honor to announce latest version of Aspose.Words for JasperReports 19.7 which is available for download.

Download Aspose.Words for JasperReports 19.7

We have upgraded this release to Aspose.Words for Java 19.7. We have also added support of JasperReports 6.9.0 in this release. Now, you can use Aspose.Words for JasperReports with JasperReports 6.9.0.

Moreover, we have improved the export of nested tables and header and footer in output Word document.

For more about Aspose.Words for JasperReports 19.7, 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

Markdown Features (.md File Format) Supported by Aspose.Words for C++ 19.8

Share on FacebookTweet about this on TwitterShare on LinkedIn

Hello guys, let’s check out what’s new for you in Aspose.Words for C++ 19.8 release.

Load and Convert Encrypted OpenDocument (.odt or .ott format)

The OdtSaveOptions class can now be used to specify additional options when saving a document into the ODT or OTT format. You can initialize a new instance of this class that can be used to save a document in the ODT format encrypted with a password. You can also use OdtSaveOptions.Password property to get or set a password to encrypt Word document. The code sample below shows how to load and save OpenDocument encrypted with a password.

Compress Metafiles in Word Document

In MS Word, all the metafiles are compressed by default regardless of their size. However, Aspose.Words used to compress large metafiles only and smaller ones were not compressed just because of better performance. Aspose.Words for C++ now provides a property AlwaysCompressMetafiles, to facilitate the users if they want to compress all the metafiles either large or small. Its default value is true which means that all metafiles shall be compressed regardless of their sizes and false means that small metafiles shall not be compressed for performance reason.

Markdown Features (.md Format)

Markdown is a simple way to format plain text that can easily be converted to HTML. Markdown features currently supported by Aspose.Words are {Headings, Block quotes, Horizontal rules, Bold emphasis, Italic emphasis}. The Markdown feature implementation mostly follows the CommonMark specification in Aspose.Words API and all the features are represented as corresponding styles or direct formatting. Which means that:

  • Bold and Italic are represented as Font.Bold and Font.Italic.
  • Headings are paragraphs with Heading 1 – Heading 6 styles
  • Quotes are paragraphs with “Quote” in style name
  • HorizontalRule is a paragraph with HorizontalRule shape

For more details, please read the following article.
Working with Markdown Features

Linked TextBoxes in Word Document

TextBox class is used to specify how text is displayed inside Shape. It provides a public property Parent  to get the parent Shape of the TextBox and to allow to find linked Shape from linked TextBox. Please check the following examples for more details:

Check if Particular DML Text Effect is Applied

Aspose.Words for C++ now provides Font->HasDmlEffect() method to check if particular DML text effect is applied to the Run. This is a boolean type property and returns true if particular DML text effect is applied. The given below code example shows how to use this property.

Working with TableStyle

Aspose.Words for C++ now provides a TableStyle class inherited from Style class. The TableStyle facilitates user to apply different styling options such as shading, padding, indentation, CellSpacing and Font etc. For more details, please refer to the following sections:

Get Revision Group Details

The Revision.Group property in Revision class can be used to get details if the revision belongs to any group. Its value will be null if the revision does not belong to any group. If revision type is RevisionType.StyleDefinitionChange or if the revision no longer exists in document context (accepted/rejected) then it means that Revision has no group.

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

Track progress in Excel to PDF rendering with Aspose.Cells for .NET 19.7

Share on FacebookTweet about this on TwitterShare on LinkedIn

Aspose.Cells for .NET logoDo you need to track your Excel to PDF conversion for bigger files? Aspose.Cells can suit your needs; it provides a sort of callback event/mechanism that notifies you the progress of the conversion. All you need to do it is implement an interface and write your code using Aspose.Cells APIs for your needs. In this post, I will share how to track your conversions for Excel to PDF rendering. Moreover, Aspose.Cells now supports to convert combo charts precisely and elegantly from XLS to XLSX and vice versa. You may find these exciting features and other enhancements in the release. So let’s not wait another moment to review the release notes.  To get essence of the public release (Aspose.Cells for .NET v19.7), I am giving you preview of the new features and other enhancements available in it.

Track Conversion Progress

Suppose, you are converting a huge Excel file to PDF, watching the loading screen and waiting for the program to finish the task. A lot of patience is required for this and you think there should be some means which shows the document conversion progress. We have achieved this functionality by providing the IPageSavingCallBack interface. Using this interface you will be able to get the total number of pages which are to be rendered to PDF along with the methods PageStartSaving and PageEndSaving. These methods should be implemented in some custom class which will continuously provide the current page number which is being rendered and the total number of pages, etc. Using this custom class you can design graphical controls or simply display text on console to show the document conversion progress page by page.

Here is a ready to run example along with a custom class sample where these methods implementation is demonstrated. Just copy this code and enjoy the new progress monitoring feature.

The following is the code for the TestPageSavingCallback custom class.

Here is the sample output of the program:

Start saving page index 0 of pages 11
End saving page index 0 of pages 11
Start saving page index 1 of pages 11
End saving page index 1 of pages 11
Start saving page index 2 of pages 11
End saving page index 2 of pages 11
Start saving page index 3 of pages 11
End saving page index 3 of pages 11
Start saving page index 4 of pages 11
End saving page index 4 of pages 11
Start saving page index 5 of pages 11
End saving page index 5 of pages 11
Start saving page index 6 of pages 11
End saving page index 6 of pages 11
Start saving page index 7 of pages 11
End saving page index 7 of pages 11
Start saving page index 8 of pages 11
End saving page index 8 of pages 11

Following is the summary of this new feature:

  • Get total number of pages which can be rendered
  • Get trigger when a page rendering is started with page index
  • Get trigger when a page rendering is finished with page index
  • Cancel or abort an operation at a particular page as per your requirement

Convert XLS to XLSX with Combo Chart

Older versions of Aspose.Cells were not converting the XSL to XLSX with Combo charts elegantly as these rendered charts might be flattened. The good news is that this shortcoming is no more there with the release of this new version as this issue is addressed and the charts can be rendered correctly.

Following comparisons show the results before and after this update.

The result before the update

The result after the update


To use these features and benefit other enhancements and fixes, I recommend you to try the release Aspose.Cells for .NET v19.7. Moreover, I recommend you to browse Developers’ Guide for your complete reference on what you can deliver using the APIs. Also, you are always welcome to share your review, concerns or feedback on forums.

Posted in Aspose.Cells Product Family | Leave a comment

Large DWG files support in Aspose.CAD

Share on FacebookTweet about this on TwitterShare on LinkedIn

Hi guys! I am back with all new blog to give you a walk through of latest Aspose.CAD for .NET/Java 19.7. As a standard practice, Aspose team publishes both .NET and Java based API having same features sets simultaneously. I will be giving you overview of what new features have been included in API along with example code to use them.

Loading Large DWG files

Aspose.CAD for .NET provides facility to open very large DWG files using CadImage class. Now you can easily open large files with the help of sample example given below.

Set Custom Point Of View for rendering

Aspose.CAD allows you to set custom point of view for Model layout. Using VectorRasterizationOptions you can set custom point of view. The following example shows how to set custom point of view.

The equivalent Java implementation for this is as under

You can check the official product release notes for many other issues and enhancement carried out in product as well. 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.CAD Product Family | Leave a comment

Track conversion progress for Excel to PDF with Aspose.Cells for Java 19.7

Share on FacebookTweet about this on TwitterShare on LinkedIn

Do you want a feedback mechanism while huge Excel files are converted to PDF? Great! Get the latest enhanced version of Aspose.Cells for Java 19.7 to use this exciting feature by adding just a few lines of codes.

We are happy that once again we got the chance to present an updated and enhanced version of Aspose.Cells for Java v19.5. This time we have added new features for processing the ODS file background to create more user-friendly output files having color and image in the background. We have also enhanced our rendering features to HTML, PDF and improvements in many functions of common use. Well, I think rather than writing a lot about these features one by one, better to have a brief overview of the new version from the release notes and then start exploring this release. What do you say?

Track Conversion Progress

You are converting a huge Excel file to PDF, watching the loading screen and waiting for the program to finish the task. A lot of patience is required for this and it seems that there should be something which shows the document conversion progress. That’s it. We have achieved this functionality by providing the IPageSavingCallBack interface. Using this interface you will be able to get the total number of pages which are to be rendered to PDF along with the methods PageStartSaving and PageEndSaving. These methods should be implemented in some custom class which will continuously provide the current page number which is being rendered and the total number of pages. Using this custom class you can use a variety of graphical controls or simply display text in a console application to show the document conversion progress page by page.

Here is a ready to run example along with a custom class sample where these methods implementation is demonstrated. Just copy this code and enjoy the new progress monitoring feature.

The following is the code for the TestPageSavingCallback custom class.

Here is the sample output of the program:

Start saving page index 0 of pages 11
End saving page index 0 of pages 11
Start saving page index 1 of pages 11
End saving page index 1 of pages 11
Start saving page index 2 of pages 11
End saving page index 2 of pages 11
Start saving page index 3 of pages 11
End saving page index 3 of pages 11
Start saving page index 4 of pages 11
End saving page index 4 of pages 11
Start saving page index 5 of pages 11
End saving page index 5 of pages 11
Start saving page index 6 of pages 11
End saving page index 6 of pages 11
Start saving page index 7 of pages 11
End saving page index 7 of pages 11
Start saving page index 8 of pages 11
End saving page index 8 of pages 11

Following is the summary of this new feature:

  • Get total number of pages which can be rendered
  • Get trigger when a page rendering is started with page index
  • Get trigger when a page rendering is finished with page index
  • Cancel or abort an operation at a particular page as per your requirement

Convert XLS to XLSX with Combo Chart

Older versions of Aspose.Cells were not converting the XSL to XLSX with Combo charts properly as these charts were being flattened. The good news is that this shortcoming is no more there with the release of this new version as this issue is addressed and the charts can be rendered correctly.

Following comparisons show the results before and after this update.

The result before the update

The result after the update


So what are you waiting for? Open your IDE and start testing these new features using this latest release Aspose.Cells for Java 19.7. You may also consult the Developer’s Guide for all the details of Aspose.Cells and if need a ready to run project with all the examples, just click here and download the project from GitHub. Forums are there for assisting you and answering all your queries about this product. That’s all for this version and see you with the release of the next version soon.

Posted in Aspose.Cells Product Family | Leave a comment

Adobe Illustrator file format support in Aspose.PSD

Share on FacebookTweet about this on TwitterShare on LinkedIn

Aspose.PSD for .NET logoHello viewers! In today’s blog, I am back with giving you a walk through of latest Aspose.PSD for .NET 19.7 release. This is a relatively new product and we tend to include new features to it in every monthly release. In following section, I will be giving you an overview of new features along with sample examples for how to use them.

Managing Adobe Illustrator file format

Using Aspose.PSD for .NET, you can now work with Adobe Illustrator file format. You can load the file using API and may export them to PSD, JPEG, PNG, GIF and TIFF. The following example explain the approach to load existing AI file and converting them to different formats.

Exporting PSD to PDF

Aspose.PSD for .NET now also provide the support for exporting PSD file to PDF that can be useful to users. In the following examples, we have demonstrated the use of loading PSD and exporting that PDF.

Resizing PSD Image

With every new release, we are continuing to add more features to manage PSD files. Now, you can also resize the PSD file using our latest API. The API has exposed efficient and easy to use methods to achieve this goal by providing Resize method for the Image class that can be used to re-size existing images on the fly.

Support for Layer Vector Mask

Aspose.PSD provides the feature to rotate Vector Mask and Text layers. Aspose.PSD has exposed the RotateFlip method to rotate Vector Mask and Text layers. The steps to rotate the layers are as simple as below.

You can check the official product release notes for many other issues and enhancement carried out in product as well. 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.PSD Product Family | Leave a comment

Metadata and Formulas writing support in Aspose.Tasks

Share on FacebookTweet about this on TwitterShare on LinkedIn

aspose-tasks-for-netHi friends! In today’s blog, I will be giving you tour of latest Aspose.Tasks API. The good thing about Aspose team is that it publishes both .NET and Java based API for Aspose.Tasks simultaneously every month. Both .NET and Java based variants are at same level in terms of features and both API users may explore the new features in their respective environments. In following section, I will be discussing about new features and improvement carried in API.

Writing Metadata to Microsoft Project Files

Aspose.Tasks provides a facility for writing metadata to MPP files for calendars, tasks, task links, resources and resource assignments. The following example describes how to write metadata information to MPP files.

The similar Java based implementation for the same is like as under:

Reading and Writing Formulas

Aspose.Tasks API supports reading/writing formulas to MPP project files. The Formula property of the ExtendedAttributeDefinition provides the interface for reading the formula value. The following examples describe how to read formulas from local as well as Enterprise Extended Attributes from the MPP file. It also shows how to write formulas to MPP file.

Reading Formulas in Local and Enterprise Extended Attributes from MPP file

The similar Java based implementation for the same is like as under:

Writing Formulas in Extended Attributes to MPP File Formats

The similar Java based implementation for the same is like as under:

Implementing Resource Prefix for Nested Resources

Aspose.Tasks provides ResourceSavingArgs.NestedUri property which allows saving nested resources (e.g. PNG inside SVG files) in the separate folder. In the following examples, we have demonstrated the use case for using the feature.

The similar Java based implementation for the same is like as under:

Working with Extended Attributes

Microsoft Project (MSP) has an extensive XML data interchange schema that makes exchanging information between applications and programming with project files easier. The schema allows you to add extended attributes to tasks, resources and assignments. This article shows how to work with Extended Attributes in Aspose.Tasks.

The ExtendedAttribute property exposed by the Resource class can be used to manage the extended attributes of a resource. This property reads and writes an ArrayList of the ExtendedAttribute objects to deal with a resource’s extended attributes. The ExtendedAttribute object further exposes the relevant properties

The similar Java based implementation for the same is like as under:

Rendering Improvements

In this release the focus has also been set on improvement of rendering performance of API. The PDF and HTML rendering issues have also been addressed. Other improvements include resolution of issue pertaining to opening and saving of MPP files, incorrect task Id’s and timelines.

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

We have also maintained the working sample examples for both .NET and Java based APIs on Github so that users may right away use different samples and explore API features. You may also talk about API related issues with us in our product support forum.



Posted in Aspose.Tasks Product Family | Leave a comment