Vector Image Support In Aspose.BarCode for JasperReports 18.1

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Aspose.BarCode for JasperReports We are pleased to announce new Aspose.BarCode for JasperReports 18.1 release.

This release includes support to generate the QR barcode with version number setting. Enhanced speed and quality of 1D barcode recognition process has also been incorporated in this release.

To view a complete list of new features, enhancements and fixes, please visit Aspose.Barcode for JasperReport 18.1 release notes page.

You can download the latest release of Aspose.BarCode for JasperReports from the following link: Download Aspose.BarCode for JasperReports 18.1

Aspose.BarCode for JasperReports Resources

The following API resources can be of help to you in getting started:

Posted in Aspose.BarCode Product Family | Leave a comment

Control external resources embedded in the document, Filter defined names while loading Workbook and other enhancements in Aspose.Cells for .NET 18.2

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn


Aspose.Cells for .NET logo
We are pleased to announce the release of Aspose.Cells for .NET v18.2. Please check the document on how to install Aspose for .NET APIs directly from NuGet repository. In this release, we have added a few valuable features for the users. For example, we included support to control/manage external resources embedded in the Excel document. You can filter formulas and defined names separately when loading Excel spreadsheets. Some other enhancements are also added regarding shapes. Please check the release notes in order to get an idea about what is new and what has been enhanced or fixed with this revision of Aspose.Cells for .NET.

Control External Resources using WorkbookSetting.StreamProvider

If your Excel file contains external resources e.g. linked images etc. and you need to control these external resources, Aspose.Cells support to manage external resources using Workbook.Settings.StreamProvider which takes the implementation of IStreamProvider interface. Whenever you will try to render your worksheet containing external resources, the methods of IStreamProvider interface will be invoked which will enable you to take appropriate actions for your external resources. The following snippet loads an Excel file (containing a linked image). The code replaces the linked image with Aspose Logo and renders the entire sheet into a single image using SheetRender class.

//Implementation of IStreamProvider
class SP : IStreamProvider
{
    public void CloseStream(StreamProviderOptions options)
    {
 
    }
 
    public void InitStream(StreamProviderOptions options)
    {
        //Open the filestream of Aspose Logo and assign it to StreamProviderOptions.Stream property
        FileStream fi = new FileStream("sampleLogo_WorkbookSetting_StreamProvider.png", FileMode.OpenOrCreate, FileAccess.Read);
        options.Stream = fi;
    }
}
 
//-------------------------------------------------
//-------------------------------------------------
 
static void Run()
{
    //Load sample Excel file containing the external resource e.g. linked image etc.
    Workbook wb = new Workbook("sampleControlExternalResourcesUsingWorkbookSettingStreamProvider.xlsx");
 
    //Provide your implementation of IStreamProvider
    wb.Settings.StreamProvider = new SP();
 
    //Access first worksheet
    Worksheet ws = wb.Worksheets[0];
 
    //Specify image or print options, we need one page per sheet and png output
    ImageOrPrintOptions opts = new ImageOrPrintOptions();
    opts.OnePagePerSheet = true;
    opts.ImageFormat = ImageFormat.Png;
 
    //Create sheet render by passing required parameters
    SheetRender sr = new SheetRender(ws, opts);
 
    //Convert your entire worksheet into png image
    sr.ToImage(0, "outputControlExternalResourcesUsingWorkbookSettingStreamProvider.png");
}

Please see the document/article with attachment(s) on how to control external resources embedded in an Excel worksheet for your reference.

Filter Defined Names while loading Workbook

Aspose.Cells now allows you to filter/exclude defined names present inside the workbook while loading the spreadsheet. You may use LoadDataFilterOptions.DefinedNames to load defined names and use ~LoadDataFilterOptions.DefinedNames to remove them while loading the workbook. For more detail on the feature, please see this article/document for your reference.

Set Margins of Comment or Shape inside the Worksheet

Using Aspose.Cells APIs, you can set the margins of any shape including comments using the Shape.TextBody.TextAlignment property. This property returns the object of Aspose.Cells.Drawing.Texts.ShapeTextAlignment class which has different properties e.g. TopMarginPt, LeftMarginPt, BottomMarginPt, RightMarginPt etc. that can be used to set the top, left, bottom and right margins. For more detail, please see this article.

Specify Formula Fields while Importing Data to Worksheet

You can specify formula fields when you import data into your worksheet using the ImportTableOptions.IsFormulas. This property takes the Boolean array where the value true means the field is a formula field. For example, if the third field is a formula field, then third value in the array will be true. For more detail, please see this article.

Specify Maximum Rows of Shared Formula

Aspose.Cells provides the Workbook.Settings.MaxRowsOfSharedFormula property that can be used to specify the maximum rows of the shared formula. The shared formula will be split to several shared formulas if the total rows of shared formula is greater than it. For more detail, please see this article.

Other Enhancements and Fixes

There are some other enhancements included and a few exception handled in the new release for the users. A few of the worth mentioning features and other enhancements are as follows.

  • Implemented Aspose.Cells for .NET Standard and Aspose.Cells for .NET Core.
  • And enhancement is made:=cmd|' /c calc'!A0is not present inside Worksheets.ExternalLinks.
  • Mimic behavior of MS Excel when entering text (while wrapping text is enabled) into Aspose.Cells.GridWeb.
  • Handled an exception “Input string was not in a correct format” when importing the Excel file into Aspose.Cells.GridWeb.

In Aspose.Cells 18.2, we fixed several important bugs and other issues. For example, issues around reading/writing MS Excel file formats, rendering Excel to HTML and vice versa, manipulating shapes, Smart Markers, using PageSetup options, rendering and manipulating charts, manipulating PivotTables, rendering images from Excel worksheets, rendering images files from charts and exporting Excel workbooks to PDF format have been resolved. Moreover, the Aspose.Cells formula calculation engine is further optimized.

Changes to the Public API

This version of Aspose.Cells for .NET has made some changes to the Public API. A few of the worth mentioning changes are as follow:

  • Added LoadDataFilterOptions.DefinedNames enum member, it indicates whether loading defined Name objects when loading template file.
  • Added SheetType.Dialog enum member, it represents dialog sheet.
  • Added WorkbookSettings.MaxRowsOfSharedFormula property, it gets and sets the max row number of shared formula. The shared formula will be split to several shared formula if the total rows of shared formula is greater than it.
  • Added ImportTableOptions.IsFormulas property, it represents which column in the datatable should be imported as formulas.

Aspose.Cells for .NET Resources

The resources, you may need to accomplish your tasks:

Posted in Aspose.Cells Product Family | Leave a comment

Specify Metafiles Format Apply Different Paragraph Styles to Two Parts of Text Line using Aspose.Words for Android via Java 18.2

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn
Aspose.Words for Android via Java

We are pleased to announce the new monthly release of Aspose.Words for Android via Java 18.2. Aspose.Words for Android via Java has full functionality of Aspose.Words for Java with few limitations, minor API changes and additional requirements. This version also includes all bug fixes and public API changes made in Aspose.Words for Java 18.2, see following release notes for more information.

Aspose.Words for Java 18.2 release notes
Aspose.Words for Android via Java 18.2 release notes

Aspose.Words for Android via Java 18.2 now allows you to perform following tasks:

Here is a look at just a few of the biggest features and API changes in this month’s release.

  • FontSettings.EnableFontSubstitution option added
  • Support to insert Style Separator to put different Paragraph styles
  • HtmlSaveOptions.MetafileFormat property added 
  • KeepSourceFormatting logic improved
  • Rendering of SVG graphics elements embedded into DrawingML objects (svgBlip) implemented
  • Added option to disable the internal font substitution mechanism and use the default font instead while rendering to PDF. (FontSettings.EnableFontSubstitution)
  • Fixed “Compound lines are not supported” warning generation
  • Fixed problem with path gradient brush scaling while rendering metafiles
  • Spacing  between legend items in DrawingML Charts rendering fixed
  • The data series line with “Round” cap type is rendered properly when exporting DrawingML Charts into PDF now
  • Rotated VML text boxes with non-default alignment rendering fixed
  • Auto-size calculation of rotated VML text boxes with vertical layout fixed
  • Implemented none wrapping for text frames
  • Improved paragraph spacing computation with hidden paragraphs
  • Improved custom tab stops handling around hidden paragraphs
  • Improved line wrapping around dashes
  • Improved character spacing control for complex code point sequences
  • Improved processing of out-of-order footnotes
  • Implemented mirror margins and gutter position handling when page orientation changes
  • Improved performance of reflow when document is large and has fields in headers/footers
  • Fixed text box width issue with left-aligned RTL text

‘Aspose.Words for Android via Java’ is an advanced Word document processing API to perform a wide range of document processing tasks directly within your native Android applications. Aspose.Words for Android via Java API supports DOC, OOXML, RTF, HTML, OpenDocument, PDF, XPS, EPUB and other formats. You can generate, modify, convert and render documents.
Learn more about Aspose.Words for Android via Java

Aspose.Words for Android via Java API Resources

Following are the links to some useful resources you may need to accomplish your tasks.

Start a Free Trial Today

Start a free trial today – all you need is to sign up with Aspose. Once you have signed up, you are ready to try all the powerful file processing features offered by Aspose.

You can easily download ‘Aspose.Words for Android via Java’ API for evaluation. The evaluation download is the same as the purchased download. The evaluation version simply becomes licensed when you add a few lines of code to apply the license.

The evaluation version of Aspose.Words for Android via Java (without a license specified) provides full product functionality, but it inserts an evaluation watermark at the top of the document on open and save, and limits the maximum document size to several hundred paragraphs.

If you want to test ‘Aspose.Words for Android via Java’ API without the evaluation version limitations, you can also request a 30-day Temporary License. Please refer to How to get a Temporary License?

Posted in Aspose.Words Product Family | Leave a comment

Generating Barcode Image In Vector Format With Aspose.BarCode for Java 18.1

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Aspose.BarCode for Java Aspose.BarCode for Java 18.1 is available for download now. The major development in this release is the support to save the generated barcode image in Vector format. This release also supports enhanced process of drawing barcode text when font is specified in the code snippet. Enhanced working of CodeLocation property has also been incorporated in this release.

Generating Barcode Image In Vector Format

Aspose.BarCode for Java now supports the functionality to generate barcode images in vector format. Two new properties Emf and Svg has been introduced in com.aspose.barcode.BarCodeImageFormat class which can be set before saving barcode image. How a developer can save barcode image in vector format is quite simple and is demonstrated in the code snippet given below. The code snippet contains comments that makes it self explanatory.


// Instantiate BarCodeBuilder object
com.aspose.barcode.BarCodeBuilder builder = new com.aspose.barcode.BarCodeBuilder();

// Set the Code text for the barcode
builder.setCodeText("ABCDEFGHIJKLMNOPQRSTUVWXYZ");

// Set the symbology type to QR
builder.setEncodeType(com.aspose.barcode.EncodeTypes.QR);

//Save the image
builder.save("qr_test.emf", com.aspose.barcode.BarCodeImageFormat.Emf);

Other Improvements

Following is the list of improvements made in this release and bug fixes that were reported by our valued customers.

  • Process of setting license has been improved. Now API will show correct exception message in case license subscription is expired. Set license execution time has also been improved.
  • Inaccurate barcode text was displayed when font is specified while saving the barcode image in vector format. The enhancement has been made to draw barcode text properly.
  • Setting big text size with com.aspose.barcode.StringAlignment.Far option, it was noticed that the barcode text disappears. Now the issue has been fixed.
  • Working of setCodeLocation property has been improved.

To view a complete list of enhancements and fixes, please visit the release notes page.

Aspose.BarCode for Java Resources

The following API resources can be of help to you in getting started with Aspose.BarCode:

Posted in Aspose.BarCode Product Family | Leave a comment

Manipulate Content and Convert PDF in Aspose.PDF for Android via Java

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

After Aspose.PDF for Android via Java 17.7 release, we are honored to announce Aspose.PDF for Android via Java 17.12. Aspose.PDF for Android via Java 17.12 has been released for android platforms and ready to be used in Android Applications. For a detailed overview of the changes and improvements in this new release of the API, please visit release notes page in API documentation. However, there are following major features, we would like to mention, which have been added in Aspose.PDF for Android via Java 17.12.

Manipulate Tables in existing PDF

Aspose.PDF for Android via Java 17.12, now offers the feature to search and parse simple tables which already exist in PDF document. This new feature in the API has come with the addition of new class com.aspose.pdf.TableAbsorber which provides the capabilities to search and manipulate the tables in PDF documents. The usage of TableAbsorber is very much similar to existing TextFragmentAbsorber Class. The following code snippet shows the steps to update contents in particular table cell:

String inputPath = "/mnt/sdcard/Table.pdf";

String outputPath = "/mnt/sdcard/Table_out.pdf";

// Load document

Document pdfDocument = new Document(inputPath);

// Create TableAbsorber object to find tables

TableAbsorber absorber = new TableAbsorber();

// Visit first page with absorber

absorber.visit(pdfDocument.getPages().get_Item(1));

// Get access to first table on page, their first cell and
// text fragments in it

Table table = (Table) absorber.getTableList().get_Item(0);

Cell cell = table.getRows().get_Item(0).getCells().get_Item(0);

TextFragment fragment =
(TextFragment) cell.getParagraphs().get_Item(1);

// Change text of the first text fragment in the cell

fragment.setText ("Hello World!");

// Save updated document

pdfDocument.save(outputPath);

Apply Gradient Color

We have implemented support for gradient color in Aspose.PDF for Android via Java 17.12, in order to apply gradient color to the Graph. The feature can be used with new property PatternColorSpace and class GradientAxialShading which has been added into com.aspose.pdf.drawing Package. Following code snippet demonstrate the usage of new added properties and classes, in order to apply gradient color:

String outputPath = "/mnt/sdcard/GradientColor_out.xlsx";

// Initialize Document object

Document doc = new Document();

// Add a new page

Page page = doc.getPages().add();

Graph graph = new Graph(300, 300);

// Add a Graph

page.getParagraphs().add(graph);

com.aspose.pdf.drawing.Rectangle rect =
new com.aspose.pdf.drawing.Rectangle(0, 0, 300, 300);

graph.getShapes().add(rect);

rect.getGraphInfo().setFillColor(new com.aspose.pdf.Color());

// Use GradientAxialShadding for Gradient

GradientAxialShading gradientAxialShading =
new GradientAxialShading(Color.getRed(), Color.getBlue());

gradientAxialShading.setStart(new Point(0, 0));

gradientAxialShading.setEnd(new Point(300, 300));

rect.getGraphInfo().getFillColor().setPatternColorSpace(gradientAxialShading);

// Save the document

doc.save(outputPath);

Convert PDF File to Excel format

Since Inter-File Formats Conversion has been an interesting feature of the APIs offered by Aspose – we have added support to convert PDF file into Excel format, in Aspose.PDF for Android via Java 17.12. This new release of the API offers you following two different methods which can be used according to your requirements regarding conversion:

A sample code snippet and other required details about this feature has also been given in “Convert PDF file to Excel Format” article of API documentation.

Miscellaneous Fixes and Resources

Along with the new features, which have been shared above, we have also made some bug fixes in this release of the API – which can be seen in release notes section of the API documentation. Please visit the following links for information regarding latest release of Aspose.PDF for Android via Java and Release Notes section. In case you have any question about Aspose.PDF for Android via Java, you can post your inquiry in Aspose.PDF forums. We will be more than happy to assist you there.

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

Cryptographic Algorithms and Improved Performance in Aspose.PDF for C++

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn
aspose-pdf-for-cpp

We at Aspose are pleased to announce new release of Aspose.PDF for C++. Aspose.PDF for C++ 18.1 has been released and available for download and to be used in C++ Applications. In case you want to use latest version in your applications, we suggest you to please visit release notes page of Aspose.PDF for C++ 18.1. You can have detailed overview of the API changes and improvements in the release notes section of API documentation.


As per regular monthly update process of the API, we always aspire to provide enhancement and performance improvements in the API. In Aspose.PDF for C++ 18.1, we have added following cryptographic algorithms, in order to create digital signatures:

  • RC2
  • TripleDES
  • RSAPKCS1SignatureFormatter

In this release of the API System::Security::Cryptography namespace is extended with above classes. Along with that we have also improved performance of the API, in order to make it more efficient and productive.

Miscellaneous Resources

Please visit the following links for information regarding latest release of Aspose.PDF for C++ 18.1 and Release Notes section. In case you have any question about Aspose.PDF for C++, you can post your inquiry in Aspose.PDF forums. We will be more than happy to assist you there.

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

Renumber WBS Codes with Aspose.Tasks for .NET 18.2

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

aspose-tasks-for-netWe are pleased to announce the release of Aspose.Tasks for .NET 18.2. This new version of API introduces a new feature of renumbering WBS Codes for tasks like Renumber function of Microsoft Project. It also provides an enhancement to get page count from a document for defined start and end dates. For a detailed note on what is new and fixed, you can visit the release notes section of API documentation.

Renumber WBS Codes using Aspose.Tasks for .NET

Aspose.Tasks for .NET API lets you work with WBS codes associated with tasks in a project. This latest release of API introduces a new feature of Renumbering WBS codes for tasks like Microsoft Project’s Renumber functionality. It lets you renumber all or selective WBS codes of tasks in a project as shown in the following code sample.

var project = new Project(dataDir + "RenumberExample.mpp");

var tasks = project.RootTask.SelectAllChildTasks().ToList();

Console.WriteLine("WBS codes before: ");

// output: ""; "1"; "2"; "4"
foreach (var task in tasks)
{
    Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
}

// project.RenumberWBSCode(); // this overload could have used too
project.RenumberWBSCode(new List { 1, 2, 3 });

Console.WriteLine("\nWBS codes after: ");

// output: ""; "1"; "2"; "3"
foreach (var task in tasks)
{
    Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
}

Get Page Count for Specific Dates

This release also introduces an enhancement for getting number of pages based on specified Start and End dates. This feature can be used to get specific page count for specified dates even during conversion to various output formats.

Project project = new Project(dataDir + "GetNumberOfPages.mpp");

var options = new ImageSaveOptions(SaveFileFormat.PNG)
{
    SaveToSeparateFiles = true,
    PageSize = PageSize.A3,
    Timescale = Timescale.Months,
    StartDate = project.Get(Prj.StartDate) - TimeSpan.FromDays(10),
    EndDate = project.Get(Prj.FinishDate) + TimeSpan.FromDays(30)
};
int pageCount = project.GetPageCount(
    PageSize.A3,
    Timescale.Months,
    project.Get(Prj.StartDate) - TimeSpan.FromDays(10),
    project.Get(Prj.FinishDate) + TimeSpan.FromDays(30));

Console.WriteLine(pageCount);

API Resources

You may visit the following API resources for getting started and working with the API.

  • Product Documentation – Detailed API documentation with code examples and details about API functional areas
  • Aspose.Tasks Forum – Our online support forum where we address your queries and inquiries
Posted in Aspose.Tasks Product Family | Leave a comment

Aspose.GIS for .NET has been launched!

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

We are pleased to announce the launch of Aspose.GIS for .NET API. It enables you to access and manipulate geographic information from vector based geo-spatial data formats. You can read, write & convert most popular GIS file formats such as ESRI Shapefile & GeoJSON from within your .NET applications without requiring any additional tools or software. It allows you to work with several different geometry types that can further be added as Features to Geo files.

Download Aspose.GIS for .NET

Aspose.GIS for .NET is available for download from nuget.org. You can use Microsoft Visual Studio’s Nuget Package Manager or use the console manager to use the API in your .NET application as explained in the installation guide.

API Documentation

You can get detailed information about the API by visiting the Aspose.GIS for .NET documentation. It is a complete guide about the API which helps you understand the requirements and features offered by the API. The documentation will be extended with more code samples and information with monthly releases of the API.

Supported File Formats

This initial launch of Aspose.GIS for .NET supports working with:

  • ESRI ShapeFile – a popular geospatial vector data format for geographic information systems (GIS)
  • GeoJSON – a format for encoding a variety of geographic data structures

Supported Geometries

Aspose.GIS for .NET supports wide range of geometry types. These include:

  • Point
  • Multipoint
  • LineString
  • MultiLineString
  • Polygon
  • MultiPolygon

The API lets you work with any of these geometry types in your applications. You can also make use of multiple geometry types to create the feature of your interest. Our documentation section, Working with Geometries, presents ready to run code samples that you can refer to for trying the same at your end.

Features Overview

Working with Layers

The API’s uniform model for working with ShapeFile and GeoJSON lets you work with these file formats without worrying about the internal file structure of these two formats. It provides the capability to:

  • Single API for reading multiple Geographic file formats
  • Create ESRI Shape and GeoJSON File Formats
  • Read ESRI Shape File and GeoJSON files
  • Get features count from Shape File
  • Retrieve Attributes information from Shape File
  • Iterate over all features of a layer
  • Get values of feature attributes from a layer
  • Filter features by attribute value
  • Extract features from Shape file and export to GeoJSON format
  • Specify attribute value length
  • Check feature for null values
  • Convert polygon shape file to string shape file

Inter-Conversion between File Formats

Not only Aspose.GIS for .NET supports working with ShapeFile and GeoJSON file formats, it also provides the capability to inter-convert between these two formats. You can use the API to:

  • Convert between ESRI ShapeFile and GeoJSON file formats with few simple lines of code
  • Control Attributes information adjustment during conversion from GeoJSON to Shape File

Ready to Run Examples

Don’t want to get through all the setting up thing? Head on to our examples repository on Github where you can get ready to run examples project for Visual Studio for trying the API. All you need to do is download the example project, compile it and run the example of your choice.

Got Questions?

We’re open to feedback! Visit the Asopse.GIS forum and tell us what we can do to make Aspose.GIS fit your needs better. You can share your findings, difference of results, new feature requests and inquiries with us via this forum. This will help us improve the overall Product quality and usability in terms of usage.

API Resources

Posted in Aspose.GIS Product Family | Leave a comment

Specify Metafiles Format in HTML Enable Disable Font Substitution Apply Different Paragraph Styles to Two Parts of Text Line

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Aspose.Words for Java

We are pleased to announce the new monthly release of Aspose.Words for Java 18.2. The release of this month contains number of new features, enhancements and bug fixes of the issues reported by our users in previous versions. Please check the detailed release notes of Aspose.Words for Java 18.2 to get an idea about all the new features/enhancements and fixes made in this release. Furthermore, if you are planning to upgrade the API from any previous version, we strongly recommend you to check the Public API Changes section of current release and other intermediate releases from release notes folder, to know what has been changed since your current revision of the API.

The following sections describe some details regarding these newly added features/enhancements.

Added Feature to Insert Style Separator to Put different Paragraph Styles

In this version of Aspose.Words, we have added the support of style separator to put different paragraph styles in the same printed paragraph. Style Separator can be added to the end of a paragraph using the Ctrl+Alt+Enter Keyboard Shortcut into MS Word. This feature allows for two different paragraph styles used in one logical printed paragraph. Please read following article for more detail.
Insert Style Separator to Put Different Paragraph Styles

Added Feature to Specify Metafile format When Exporting Document to HTML

In this version, we have added HtmlSaveOptions.MetafileFormat property to specify in what format metafiles are saved when exporting to HTML, MHTML, or EPUB. By default metafiles are rendered to raster PNG images. HtmlMetafileFormat enumeration has added to indicate the format in which metafiles are saved to HTML document. This new property replaces HtmlSaveOptions.ExportMetafileAsRaster which is now marked obsolete. For more detail, please read following article.
Specify Metafile format When Exporting Document to HTML

Added Feature to Enable/Disable Font Substitution

We have added new property FontSettings.EnableFontSubstitution in this version of Aspose.Words to specify whether to enable or disable font substitution. Please read following article for more detail.
Enable or Disable Font Substitution

Changed Importing Logic with KeepSourceFormatting Mode

In old versions of Aspose.Words, our import algorithm was different from what MS Word does. We imported style with expanded attributes. If a style already exists in the document, we applied a new name to it. MS Word does not import style if it already exists. It just expands attributes into the direct paragraph/run properties. We have improved the importing document logic with KeepSourceFormatting mode that is closer to MS Word’s behavior. Now we are expanding source formatting into the direct attributes of imported nodes.

Obsolete Properties were Removed from Aspose.Words API

  • The HtmlSaveOptions.AllowNegativeLeftIndent was removed. Please use HtmlSaveOptions.AllowNegativeIndent property.
  • The HtmlSaveOptions.ExportHeadersFooters was removed. Please use HtmlSaveOptions.ExportHeadersFootersMode property.
  • The HtmlFixedSaveOptions.MetafileRenderingMode was removed. Please use the HtmlFixedSaveOptions.MetafileRenderingOptions.RenderingMode property.
  • The SvgSaveOptions.MetafileRenderingMode was removed. Please use the SvgSaveOptions.MetafileRenderingOptions.RenderingMode property.
  • The XpsSaveOptions.HeadingsOutlineLevels was removed. Please use OutlineOptions.HeadingsOutlineLevels property.
  • The XpsSaveOptions.BookmarksOutlineLevel was removed. Please use OutlineOptions.DefaultBookmarksOutlineLevel property.
  • The XpsSaveOptions.MetafileRenderingMode was removed. Please use MetafileRenderingOptions.RenderingMode property.

Other Improvements

There are 102 improvements and fixes in this regular monthly release. The most notable are:

  • FontSettings.EnableFontSubstitution option added
  • Support to insert Style Separator to put different Paragraph styles
  • HtmlSaveOptions.MetafileFormat property added 
  • KeepSourceFormatting logic improved
  • Rendering of SVG graphics elements embedded into DrawingML objects (svgBlip) implemented
  • Added option to disable the internal font substitution mechanism and use the default font instead while rendering to PDF. (FontSettings.EnableFontSubstitution)
  • Fixed “Compound lines are not supported” warning generation
  • Fixed problem with path gradient brush scaling while rendering metafiles
  • Spacing  between legend items in DrawingML Charts rendering fixed
  • The data series line with “Round” cap type is rendered properly when exporting DrawingML Charts into PDF now
  • Rotated VML text boxes with non-default alignment rendering fixed
  • Auto-size calculation of rotated VML text boxes with vertical layout fixed
  • Implemented none wrapping for text frames
  • Improved paragraph spacing computation with hidden paragraphs
  • Improved custom tab stops handling around hidden paragraphs
  • Improved line wrapping around dashes
  • Improved character spacing control for complex code point sequences
  • Improved processing of out-of-order footnotes
  • Implemented mirror margins and gutter position handling when page orientation changes
  • Improved performance of reflow when document is large and has fields in headers/footers
  • Fixed text box width issue with left-aligned RTL text

Aspose.Words for Java Resources

The following resources will help you work with Aspose.Words for Java:

Posted in Aspose.Words Product Family | Leave a comment

Support of Style Separator Enable or Disable Font Substitution Improved Importing Logic with KeepSourceFormatting and Metafile Rendering in HTML

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Aspose.Words for .NET logoWe are pleased to announce our next version Aspose.Words for .NET 18.2. This month’s release contains over 95 useful new features, enhancements and bug fixes. Please see the release notes for more detail. If you are planning to upgrade from older version of Aspose.Words to the current version, we would strongly suggest you to check the Public API and Backward Incompatible Changes section to know what APIs are changed so far.

 

Here is a look at just a few of the biggest features and API changes in this month’s release.

  • FontSettings.EnableFontSubstitution option added
  • Support to insert Style Separator to put different Paragraph styles
  • HtmlSaveOptions.MetafileFormat property added
  • KeepSourceFormatting logic improved
  • Rendering of SVG graphics elements embedded into DrawingML objects (svgBlip) implemented
  • Added option to disable the internal font substitution mechanism and use the default font instead while rendering to PDF. (FontSettings.EnableFontSubstitution)
  • Fixed “Compound lines are not supported” warning generation
  • Rendering of “DFKai-SB” TrueType font fixed
  • Fixed problem with path gradient brush scaling while rendering metafiles
  • Spacing between legend items in DrawingML Charts rendering fixed
  • The data series line with “Round” cap type is rendered properly when exporting DrawingML Charts into PDF now
  • Rotated VML text boxes with non-default alignment rendering fixed
  • Auto-size calculation of rotated VML text boxes with vertical layout fixed
  • Implemented none wrapping for text frames
  • Improved paragraph spacing computation with hidden paragraphs
  • Improved custom tab stops handling around hidden paragraphs
  • Improved line wrapping around dashes
  • Improved character spacing control for complex code point sequences
  • Improved processing of out-of-order footnotes
  • Implemented mirror margins and gutter position handling when page orientation changes
  • Improved performance of reflow when document is large and has fields in headers/footers
  • Fixed text box width issue with left-aligned RTL text

Changed Importing Logic with KeepSourceFormatting Mode

In old versions of Aspose.Words, our import algorithm was different from what MS Word does. We imported style with expanded attributes. If a style already exists in the document, we applied a new name to it. MS Word does not import style if it already exists. It just expands attributes into the direct paragraph/run properties. We have improved the importing document logic with KeepSourceFormatting mode that is closer to MS Word’s behavior. Now we are expanding source formatting into the direct attributes of imported nodes.

Added Feature to Insert Style Separator to Put different Paragraph Styles

In this version of Aspose.Words, we have added the support of style separator to put different paragraph styles in the same printed paragraph. Style Separator can be added to the end of a paragraph using the Ctrl+Alt+Enter Keyboard Shortcut into MS Word. This feature allows for two different paragraph styles used in one logical printed paragraph. Please read following article for more detail.
Insert Style Separator to Put Different Paragraph Styles

/// <summary>
/// Inserts style separator into the document.
/// </summary>
/// <remarks>
/// This method allows to apply different paragraph styles to two different parts of a text line.
/// </remarks>
public void InsertStyleSeparator()

Added Feature to Specify Metafile format When Exporting Document to HTML

In this version, we have added HtmlSaveOptions.MetafileFormat property to specify in what format metafiles are saved when exporting to HTML, MHTML, or EPUB. By default metafiles are rendered to raster PNG images. HtmlMetafileFormat enumeration has added to indicate the format in which metafiles are saved to HTML document. For more detail, please read following article.
Specify Metafile format When Exporting Document to HTML

public class HtmlSaveOptions
{
    /// <summary>
    /// Specifies in what format metafiles are saved when exporting to HTML, MHTML, or EPUB.
    /// Default value is <see cref="HtmlMetafileFormat.Png" />, meaning that metafiles 
/// are rendered to raster PNG images. /// </summary> /// <remarks> /// <p>Metafiles are not natively displayed by HTML browsers.
/// By default, Aspose.Words converts WMF and EMF /// images into PNG files when exporting to HTML. Other options are to convert metafiles
/// to SVG images or to export /// them as is without conversion.</p> /// <p>Some image transforms, in particular image cropping, will not be applied to
/// metafile images if they are exported /// to HTML without conversion.</p> /// </remarks> /// <seealso cref="ImageResolution"/> /// <seealso cref="ScaleImageToShapeSize"/> public HtmlMetafileFormat MetafileFormat { get { return mSaveImageOptions.MetafileFormat; } set { mSaveImageOptions.MetafileFormat = value; } } } /// <summary> /// Indicates the format in which metafiles are saved to HTML documents. /// </summary> public enum HtmlMetafileFormat { /// <summary> /// Metafiles are rendered to raster PNG images. /// </summary> Png, /// <summary> /// Metafiles are converted to vector SVG images. /// </summary> Svg, /// <summary> /// Metafiles are saved as is, without conversion. /// </summary> EmfOrWmf }

This new property replaces HtmlSaveOptions.ExportMetafileAsRaster which is now marked obsolete. The new code should use MetafileFormat instead of ExportMetafileAsRaster, as shown below:

MetafileFormat = HtmlMetafileFormat.Png;
// Instead of
ExportMetafileAsRaster = true;
 
MetafileFormat = HtmlMetafileFormat.EmfOrWmf;
// Instead of
ExportMetafileAsRaster = false;

Added Feature to Enable/Disable Font Substitution

We have added new property FontSettings.EnableFontSubstitution in this version of Aspose.Words to specify whether to enable or disable font substitution. Please read following article for more detail.
Enable or Disable Font Substitution

 /// <summary>
/// Specifies whether to enable or disable font substitution.
/// </summary>
/// <remarks>
/// <para>If font substitution is enabled, Aspose.Words evaluates all the related fields in <see cref="FontInfo"/>
/// (Panose, Sig etc) for the missing font and finds the closest match among the available font sources. Note that
/// font substitution mechanism will override the <see cref="DefaultFontName"/> in cases when <see cref="FontInfo"/>
/// for the missing font is available in the document.</para>
/// <para>If font substitution is disabled, Aspose.Words uses the <see cref="DefaultFontName"/> for the substitution
/// of missing fonts.</para>
/// <para>The default value is <c>true</c>.</para>
/// </remarks>
public bool EnableFontSubstitution
{
    get; set;
}

Obsolete Properties were Removed from Aspose.Words API

  • The HtmlSaveOptions.AllowNegativeLeftIndent has removed. Please use HtmlSaveOptions.AllowNegativeIndent property.
  • The HtmlSaveOptions.ExportHeadersFooters has removed. Please use HtmlSaveOptions.ExportHeadersFootersMode property.
  • The HtmlFixedSaveOptions.MetafileRenderingMode has removed. Please use the HtmlFixedSaveOptions.MetafileRenderingOptions.RenderingMode property.
  • The SvgSaveOptions.MetafileRenderingMode has removed. Please use the SvgSaveOptions.MetafileRenderingOptions.RenderingMode property.
  • The XpsSaveOptions.HeadingsOutlineLevels was removed. Please use OutlineOptions.HeadingsOutlineLevels property.
  • The XpsSaveOptions.BookmarksOutlineLevel was removed. Please use OutlineOptions.DefaultBookmarksOutlineLevel property.
  • The XpsSaveOptions.MetafileRenderingMode was removed. Please use MetafileRenderingOptions.RenderingMode property.

Obsolete SWF File Format was Removed from Aspose.Words API

Adobe is going to drop support of Flash that is why we decided to remove SaveFormat.Swf from Aspose.Words API. The SaveFormat.Swf has removed.

Aspose.Words for .NET Resources

The following resources will help you work with Aspose.Words for .NET:

    • Home page of .NET API.
    • Install using NuGet Package
    • Documentation – up-to-date documentation containing Programmer’s Guide, Knowledge Base and much more.
    • API Reference Guide – detailing the publicly exposed classes, methods, properties, constants & interfaces.
    • Aspose.Words Product Family Forum – post your technical questions and queries, or any other problem you are facing while working with Aspose.Words APIs.
    • Enable Blog Subscription – do not limit yourself, you can keep yourself updated with the latest news on Aspose.Words APIs, new features, fixes and other API related topics by subscribing to Aspose.Words blog.
    • Examples – we have published our code examples on the social coding website GitHub.com. Anyone could explore the code examples for learning purposes.
Posted in Aspose.Words Product Family | Leave a comment