Sunday, November 18, 2018

Rename Packages from Aspose.Words JAR to Avoid Name Coincidence & Enhanced JRXML Export to DOC

What’s new in this release?

The long awaited version of Aspose.Words for JasperReports 18.10 has been released. This latest release of Aspose.Words for JasperReports 18.10 has upgraded this release to the latest version of Aspose.Words for Java 18.10, rename packages from Aspose.Words JAR to avoid name coincidence, and fix an issue related to table. This release also enhanced export of JRXML to DOC.  It further enhanced exporting reports from JasperReports and JasperServer to Microsoft Word document (DOC), Office Open XML (OOXML, DOCX), Web page (HTML) and plain text (TXT) formats. The list of improved features in this release are listed below
  • Upgrade to the latest version of Aspose.Words for Java (18.10)
  • java.lang.NoSuchFieldError: is thrown while export JRXML to DOC     
  • Exception "Formatting cannot be applied..."
Starting from release 1.9.0 there are now several versions of the JAR library (this is necessary for better support of older versions of JasperReports):
  • for JasperReports 6.3.0 and higher (aspose.words.jasperreports-6.3.0.jar)
  • for JasperReports 5.6.0 … 6.2.0 (aspose.words.jasperreports-6.2.0.jar)
  • for JasperReports 4.7.0 … 5.5.0 (aspose.words.jasperreports-5.5.0.jar)
  • for JasperReports 3.7.2 … 4.5.0 (aspose.words.jasperreports-4.5.0.jar)
  • for JasperReports 3.7.1 and lower (aspose.words.jasperreports-3.7.1.jar)
Please copy only one jar library according to the version of installed JasperReports.
Newly added documentation pages and articles
Some new tips and articles have now been added into Aspose.Words for JasperReports documentation that may guide users briefly how to use Aspose.Words for performing different tasks like the followings.
Overview: Aspose.Words for JasperReports
Aspose.Words for JasperReports makes it possible exporting reports from JasperReports and JasperServer to Microsoft Word document (DOC), Office Open XML (OOXML, DOCX), Web page (HTML) and plain text (TXT) formats. It is written purely in Java and is provided as a single JAR file that can easily be deployed on the machines running JasperReports or JasperServer. Aspose.Words for JasperReports exports flow layout documents that are easy to further edit in Microsoft Word, if necessary.

More about Aspose.Words for JasperReports

Thursday, November 15, 2018

Outlook for Mac Data File (.OLM) Support & Improved MBX to PST Conversion in Android Apps

What’s new in this release?

Aspose team is pleased to announce the new release of Aspose.Email for Android via Java 18.10.  This month’s release includes a new feature and enhancements to the API’s feature set. It also includes several bug fixes reported with the previous version of the API that add to the overall API stability. Being famous in market for email communication, Aspose.Email lets users work with popular data files and now the support for Outlook for MAC in OLM format has also been added. This release includes several improvements in term of bug fixes, such as MapiCalendar and TimeZone Issue with appointment datetime, The inconsistent time regarding Mapi property ClientSubmitTime, Unable to read To Email Address from EML file, Copying messages from one PST to another leads to losing attachments of enclosed messages, Issues with converting meeting requests to MHTML, The space character separator is missing in the MAPI property, After EML to MSG conversion, html content does not show correctly, Email headers are added at the wrong place in HTML, Accented characters aren’t properly encoded in MapiCalendar object, After Converting EML to MSG, Appointment Time Shown In Local Time Instead Of UTC, After Converting EML to EMLX, the EMLX file is not showing images associated with message body, MBX to PST Conversion Issue and many more. The main features added in this release are listed below
  • Support for Outlook for Mac Data File (.OLM) using Aspose.Email
  • MapiMessage.setBodyContent() generates exception if string ends with opening angle bracket.   
  • MapiCalendar and TimeZone Issue with appointment datetime
  • The inconsistent time regarding Mapi property ClientSubmitTime
  • Unable to read To Email Address from EML file
  • Copying messages from one PST to another leads to losing attachments of enclosed messages
  • When the content-type is message/RFC822, Base64 encoding is not permitted
  • Issues with converting meeting requests to MHTML
  • The message body is missing in the printed output.
  • PersonalStorageQueryBuilder Body.Contains() not working for OST File
  • The space character separator is missing in the MAPI property
  • After EML to MSG conversion, html content does not show correctly
  • Email headers are added at the wrong place in HTML
  • Accented characters aren't properly encoded in MapiCalendar object
  • After Converting EML to MSG, Appointment Time Shown In Local Time Instead Of UTC
  • After Converting EML to EMLX, the EMLX file is not showing images associated with message body
  • KeyNotFoundException While Splitting a PST
  • MBX to PST Conversion Issue
  • Spanish accents in "From" and "Recipients" is turned into a ?          
  • FolderInfo.deleteChildItem method call thrown NullPointerException.
  • PST modification. System.ArgumentException: An item with the same key has already been added.       
Newly added documentation pages and articles

Some new tips and articles have now been added into Aspose.Email for Android documentation that may guide users briefly how to use Aspose.Email for performing different tasks like the followings.
Overview: Aspose.Email for Android via Java

Aspose.Email for Android API enables developers to design Android applications for managing & manipulating Outlook email file formats without using MS Outlook. It provides tools to create, read & convert Outlook MSG, PST, EML, EMLX, OST & MHT file formats. It manages recipients, subject, message body, attachments in MSG documents. It creates & save appointments in draft format, extract & save calendar items from a PST, add Mapi Items such as Messages, Contacts, Notes, Journals & Tasks to a PST.

More about Aspose.Email for Androidvia Java

Tuesday, April 19, 2016

Integrate MS Excel & OpenOffice Spreadsheet in Android Apps using Aspose.Cells Cloud APIs

What's New in this Release?

This is a major revamp release for Aspose.Cells Cloud SDK for Android. It covers all the Aspose.Cells Cloud APIs. This SDK provides a complete solution for integrating Microsoft Excel and OpenOffice in Android using powerful Aspose.Cells Cloud APIs, so you can perform any operation on Microsoft Excel spreadsheets in the cloud seamlessly. Aspose.Cells for Cloud’s platform independent document manipulation API is a true REST API that can be used with any language: .NET, Java, PHP, Ruby, Rails, Python, Node.js and many more. You can use it with any platform — web, desktop, mobile, and cloud. With Aspose.Cells for Cloud you can work with all aspects of spreadsheets: worksheets, rows, columns, cells, text, data, images, links, comments, formulas, charts, and many more, PDF, XPS, EPUB and many other formats. Aspose.Cells for Cloud is a complete solution for performing any operation you can wish to perform on Microsoft Excel and OpenOffice spreadsheets in the cloud.

Overview: Aspose for Cloud

Aspose for Cloud is a cloud-based document generation, conversion and automation platform for developers that offer a unique suite of APIs to work with Word documents, Excel spreadsheets, PowerPoint presentations, PDFs, and email formats and protocols. It supports all features for file processing, document scanning, barcodes creation and recognition, and allows extracting text or images too. You can also work with SaaSpose APIs using REST SDKs that can be called from .NET, Java, PHP and Ruby etc.

Wednesday, October 21, 2015

How to Find & Highlight a Particular Word or Phrase in a Document inside Android Apps


This article describes how to programmatically find and highlight a particular word or a phrase in a document using Aspose.Words inside Android Apps. It might seem easy at first to just find the string of text in a document and change its formatting, but the main difficulty is that due to formatting, the match string could be spread over several runs of text. Consider the following example. The phrase “Hello World!” consists of three different runs, its beginning is italic, middle is bold, while the last part – regular text. In addition to formatting, any bookmarks in the middle of text will split it into more runs. The above example is represented in Aspose.Words using the following objects:
    Run(Run.Text = “Hello”, Font.Italic = true)
    Run(Run.Text = “World”, Font.Bold = true)
    Run(Run.Text = “!”)
This article provides a solution designed to handle the described case – if necessary it collects the word (or phrase) from several runs, while skipping non-run nodes. The sample code opens a document and find any instance of the text “your document”. A replace handler is set up to handle the logic to be applied to each resulting match found. In this case the resulting runs are split around the txt and the resulting runs highlighted, even those matches that have different formatting and span across multiple runs.
[Java Code Sample]
package FindAndHighlight;
import java.util.regex.Pattern;
import java.util.ArrayList;
import java.awt.Color;
import java.io.File;
import java.net.URI;
import com.aspose.words.Document;
import com.aspose.words.IReplacingCallback;
import com.aspose.words.ReplaceAction;
import com.aspose.words.NodeType;
import com.aspose.words.ReplacingArgs;
import com.aspose.words.Node;
import com.aspose.words.Run;

class Program
{
    public static void main(String[] args) throws Exception
    {
        // Sample infrastructure.
        URI exeDir = Program.class.getResource("").toURI();
        String dataDir = new File(exeDir.resolve("../../Data")) + File.separator;
        Document doc = new Document(dataDir + "TestFile.doc");
        // We want the "your document" phrase to be highlighted.
        Pattern regex = Pattern.compile("your document", Pattern.CASE_INSENSITIVE);
        // Generally it is recommend if you are modifying the document in a custom replacement evaluator
        // then you should use backward replacement by specifying false value to the third parameter of the replace method.
        doc.getRange().replace(regex, new ReplaceEvaluatorFindAndHighlight(), false);
        // Save the output document.
        doc.save(dataDir + "TestFile Out.doc");
    }
}
class ReplaceEvaluatorFindAndHighlight implements IReplacingCallback
{
    /**
     * This method is called by the Aspose.Words find and replace engine for each match.
     * This method highlights the match string, even if it spans multiple runs.
     */
    public int replacing(ReplacingArgs e) throws Exception
    {
        // This is a Run node that contains either the beginning or the complete match.
        Node currentNode = e.getMatchNode();
        // The first (and may be the only) run can contain text before the match,
        // in this case it is necessary to split the run.
        if (e.getMatchOffset() > 0)
            currentNode = splitRun((Run)currentNode, e.getMatchOffset());
        // This array is used to store all nodes of the match for further highlighting.
        ArrayList runs = new ArrayList();
        // Find all runs that contain parts of the match string.
        int remainingLength = e.getMatch().group().length();
        while (
            (remainingLength > 0) &&
            (currentNode != null) &&
            (currentNode.getText().length() <= remainingLength))
        {
            runs.add(currentNode);
            remainingLength = remainingLength - currentNode.getText().length();
            // Select the next Run node.
            // Have to loop because there could be other nodes such as BookmarkStart etc.
            do
            {
                currentNode = currentNode.getNextSibling();
            }
            while ((currentNode != null) && (currentNode.getNodeType() != NodeType.RUN));
        }
        // Split the last run that contains the match if there is any text left.
        if ((currentNode != null) && (remainingLength > 0))
        {
            splitRun((Run)currentNode, remainingLength);
            runs.add(currentNode);
        }
        // Now highlight all runs in the sequence.
        for (Run run : (Iterable<Run>) runs)
            run.getFont().setHighlightColor(Color.YELLOW);
        // Signal to the replace engine to do nothing because we have already done all what we wanted.
        return ReplaceAction.SKIP;
    }
    /**
    * Splits text of the specified run into two runs.
    * Inserts the new run just after the specified run.
    */
    private static Run splitRun(Run run, int position) throws Exception
    {
        Run afterRun = (Run)run.deepClone(true);
        afterRun.setText(run.getText().substring(position));
        run.setText(run.getText().substring((0), (0) + (position)));
        run.getParentNode().insertAfter(afterRun, run);
        return afterRun;
    }
}

More about Aspose.Words for Android 

Aspose.Words for Android is a Java word processing component that enables developers to generate, modify, convert and render Word documents within their Android applications. Aspose.Words supports DOC, DOCX, OOXML, RTF, HTML, XHTML, MHTML, OpenDocument, ODT, PDF, XPS, EPUB & other formats. Other useful features include document creation, content and formatting manipulation, mail merge abilities, reporting features, platform independence, performance & scalability all with minimal learning curve.

Wednesday, July 22, 2015

Calculate Page Setup Scaling Factor & Strategize Calculation Precision in Android Apps

What’s new in this release?

Aspose development team is pleased to announce the new release of Aspose.Cells for Android v8.5.0. This release contains many useful features and improvements. Aspose.Cells uses some third party libraries. For example, there is one thrid-party library which Aspose.Cells uses. That is used for AES encryption supported by MS Excel 2010. Sometimes, when using multiple components in an Android project, you might encounter “Unable to execute DX” error which means the total number of methods in the project should not exceed 65536. Now we put the third party lib(s) to an APK (aspose-cells-x.x.x-libs.apk) file. This way, the methods in the third party lib are not needed to be counted any more. Now we only have our Aspose.Cells lib so, the long list of third party library methods are reduced as these run in the same process of the component’s main jar. It has exposed the CalculationOptions class, CalculationPrecisionStrategy enumeration and a set of new CalculateFormula methods in order to add more flexibility &amp; extensibility to the formula calculation engine. These new APIs were added to facilitate the user who wish to strategize the calculation precision handling on their own according to the application requirements. Aspose.Cells APIs have exposed the PasteType.ROW_HEIGHTS enumeration field for the purpose of copying the row heights while copying the ranges. Upon setting the PasteOptions.PasteType property to PasteType.ROW_HEIGHTS the heights of all the rows inside the source range will be copied to the destination range. Microsoft Excel calculates the page setup scaling factor while using the “Fit to n page(s) wide by m tall” option. Aspose.Cells for Android 8.5.0 has exposed the SheetRender.PageScale property to mimic the aforesaid feature of Excel application. This property returns a double value which can be converted to percentage for scaling notation. With this revision, the API has exposed the Cell.getStringValue method along with an enumeration CellValueFormatStrategy that can be used to extract the cell value with or without formatting applied. The newly exposed Cell.getStringValue() method can be used to get the string value of the cell with or without any formatting. Suppose, you have a cell with value 0.012345 and you have formatted it to display two decimal places only. It will then display as 0.01 in Excel. You can retrieve string values both as 0.01 and as 0.012345 using the Cell.getStringValue() method. Since the code base of Aspose.Cells for Android matches the code of relevant .NET and Java versions, so most of the changes, enhancements and fixes are also included in the release. This release includes plenty of improved features and bug fixes as listed below
  • Enhance the PasteOptions/PasteType mechanism to allow copying of Row heights while copying Ranges
  • Recalculating the Page Setup scaling factor
  • HYPERLINK formula/function - Allow user to process parameters of hyperlink
  • Wrong background color is returned by Aspose.Cells
  • Spreadsheet corrupted after opening and saving the template XLSX file
  • Conversion to HTML appends # string at the end of values for a column
  • Numbers in the Text boxes are not displayed inside
  • The smart arts' placement/alignment in the PDF is not matching with the source Excel file
  • Bottom line is way longer that the original in template file
  • Data shifted to the right in template file
  • Text is overlapped with white background in template file
  • Cell alignment is to left instead of right in template file
  • Text and text alignment is messed up in template file
  • JavaScript error when export to HTML
  • Loss of text in template file
  • Loss of text in template file
  • Failed conversions from XLS to PDF with Aspose.Cells APIs
  • Converting Excel file containing hyperlinks to HTML - Cell referenced hyperlinks don't work
  • Issue with the formatting of an Arrow shape / object - Excel to PDF rendering
  • Gantt chart is not rendered in the output PDF file format
  • Issue with the returned values of parameters in calculating custom function
  • Custom function involving Excel formula (INDIRECT) fails
  • Issue with the value received in a CustomFunction
  • Issue with RefferedArea as result of parameter's calculation
  • When instantiating a Workbook with a corrupted Excel document and LoadOptions, hang occurs
  • Problem with AutoFilters on formulas
  • Conditional format with number format does not work for XLS
  • Style.isDateTime returns false for a cell formatted as Date
  • Left border appearing when it shouldn't for a cell that has adjacent hidden column
  • Formulas are not updated correctly after insert rows
  • Dynamic print area broken when save as / print PDF
  • Some Hebrew characters in the textbox missing in the output PDF file
  • The value axis and category axis labels in the chart are blacked out (Excel to PDF conversion)
  • Text is too large and expanding beyond the margin
  • Bold text characters overlap with each other while converting worksheet to image
  • The text outside of the page break is rendered in PDF as wrapped text
  • Issue with page break, fonts rendering and margins in Excel to PDF rendering
  • Aspose.Cells: cut off text in original cell is showed fully when converted to PDF
  • Page Layout issue (RTL) rendering
  • Footer is mess up in the generated PDF file
  • A small dot appears at the center of Pie Chart while saving it to image
  • Chart used to be able to accept a series formula with empty values but now it throws exception
  • Rendering problems while converting chart to image
  • Issue with chart axis labels' width when converting Excel worksheet to image
  • Chart Data Label properties issue
  • Pie Chart percentage problem
Other most recent bug fixes are also included in this release.
Overview: Aspose.Cells for Android
Aspose.Cells for Android is a MS Excel spreadsheet component that allows programmer to develop android applications for reading, writing &amp; manipulate Excel spreadsheets (XLS, XLSX, XLSM, SpreadsheetML, CSV, tab delimited) and HTML file formats without needing to rely on Microsoft Excel. It supports robust formula calculation engine, pivot tables, VBA, workbook encryption, named ranges, custom charts, spreadsheet formatting, drawing objects like images, OLE objects &amp; importing or creating charts.

Tuesday, May 26, 2015

Create, Edit & Convert PowerPoint Presentations using Cloud SDK for Android

What's New in this Release?

We are pleased to announce the new release of Aspose for Cloud Android SDK.  Aspose for Cloud is a cloud-based document generation, conversion and automation platform for developers. Aspose for Cloud’s REST APIs give developers on all platforms total control over documents and file formats. It interoperates seamlessly with other cloud services. Aspose for Cloud makes it easy for web and mobile app developers to work with Microsoft Word documents, Microsoft Excel spreadsheets, Microsoft PowerPoint presentations, Adobe PDFs, OpenDocument formats, barcodes, OCR and email formats and protocols in their apps. Our REST API can be called from any platform: .NET, Java, Android, iOS, Ruby, Salesforce, and Amazon, to mention a few.
Following new APIs have been added to this release to work with Presentation documents
  • Convert PowerPoint Documents to other File Format Using Third Party Storage: This API allows you to convert a PowerPoint document to other file format using third party storage.
  • Get Aspect Ratio of a PowerPoint Slide: This API allows you to get height, width and aspect ratio of a PowerPoint slide.
  • Save a Particular Slide as Image with Default Size Using Third Party Storage: This API allows you to save a particular slide as image with default size using third party storage.
  • Save a Particular Slide as Image with Specified Size Using Third Party Storage: This API allows you to save a particular slide as image with specified size using third party storage.
  • Delete All Slides from a Presentation Using Third Party Storage: This API allows you to delete all slides from a presentation using third party storage.
  • Get Slide Count Using Third Party Storage: This API allows you to get PowerPoint document slide count using third party storage.
  • Get Number of Images in a Presentation Using Third Party Storage: This API allows you to get total number of images in a presentation using third party storage.
  • Get Number of Images in a Slide Using Third Party Storage: This API allows you to get total number of images in a slide using third party storage.
  • Extract Shapes from a Slide Using Third Party Storage: This API allows you to extract shapes from a particular slide using using third party storage.
  • Get All Text Items from a Presentation Using Third Party Storage: This API allows you to get all text items from a presentation using third party storage.
  • Get All Text Items from a Slide Using Third Party Storage: This API allows you to get all text items from a slide using third party storage.
  • Set Document Property: This API allows you to set a single document property.
Start a free trial today – all you need is to sign up with Aspose for Cloud service. Once you have signed up, you are ready to try powerful file processing features offered by Aspose for Cloud.

Overview: Aspose for Cloud

Aspose for Cloud is a cloud-based document generation, conversion and automation platform for developers that offer a unique suite of APIs to work with Word documents, Excel spreadsheets, PowerPoint presentations, PDFs, and email formats and protocols. It supports all features for file processing, document scanning, barcodes creation and recognition, and allows extracting text or images too. You can also work with SaaSpose APIs using REST SDKs that can be called from .NET, Java, PHP and Ruby etc.

Thursday, May 21, 2015

PDF to Image & Image to PDF Conversion are Enhanced inside Android Apps

What's New in this Release?

Aspose development team is excited to announce the release of Aspose.Pdf for Android 1.6.0. Aspose.Pdf for Java is our award winning API to create as well as manipulate PDF documents over Java platform. Porting same powerful features to Android platform, we created Aspose.Pdf for Android which offers most of the remarkable functionalities and provides same capabilities to create PDF from beginning or manipulate them over Android platform. In this new version, we have specifically improved the PDF to raster images conversion and vice versa, convert raster images to PDF format with great fidelity. Therefore this version is better and improved than its earlier releases and therefore we encourage you to try upgrading to latest versions so that you can always benefit from the new features and improvements offered in latest releases. Some important features included in this new release are listed below
  • com.aspose.pdf throws exception while adding FreeTextAnnotation
  • PdfContenEditor throws exception while adding FreeTextAnnotation
  • PDF to JPEG - Contents are missing over resultant file
  • API is taking long time to create PDF file
  • Exception while converting TIFF to PDF
  • Implement support of TIFF for Android.
  • Develop function to save Bitmap in BMP format
Overview: Aspose.Pdf for Android
Aspose.Pdf for Android is a PDF document creation & manipulation c omponent that enables Android applications to read, write & manipulate PDF document without using any other third party application. It allows PDF compression options, table creation & manipulation, support for graph objects, extended security controls, custom font handling, add or remove bookmarks, create table of contents, add, update, delete attachments & annotations, import or export PDF form data, print PDF docs &  much more.