Announcing Aspose.Imaging for Cloud & other news, August 2014

Share this issue: facebook Icon Announcing Aspose.Imaging for Cloud & other news, August 2014 twitter Icon Announcing Aspose.Imaging for Cloud & other news, August 2014 youTube Icon Announcing Aspose.Imaging for Cloud & other news, August 2014 googlePlus Icon Announcing Aspose.Imaging for Cloud & other news, August 2014 linkedIn Icon Announcing Aspose.Imaging for Cloud & other news, August 2014
separator 690px Announcing Aspose.Imaging for Cloud & other news, August 2014
asposeLogo Announcing Aspose.Imaging for Cloud & other news, August 2014
Monthly Newsletter
August, 2014
Working with emails in .NET applications? It doesn’t have to be difficult.
Aspose.Email for .NET allows developers to add email features to their apps. Send and manage emails, work with Microsoft Outlook tasks, notes and calendar items, convert emails between formats, control attachments and much more.
advertActionButton Announcing Aspose.Imaging for Cloud & other news, August 2014
advertGraphics Announcing Aspose.Imaging for Cloud & other news, August 2014
News
separator 630px Announcing Aspose.Imaging for Cloud & other news, August 2014
newsHeadline Icon Announcing Aspose.Imaging for Cloud & other news, August 2014
Coming Soon: Aspose.Imaging for Cloud

We’re expanding our Cloud offering by adding new APIs. The next product to make it into Aspose for Cloud will be Aspose.Imaging. Thisa new REST API will allow developers to work with and process images in their applications. Read more.

Product News
separator 630px Announcing Aspose.Imaging for Cloud & other news, August 2014
productNews Icon Announcing Aspose.Imaging for Cloud & other news, August 2014
Aspose.Slides for Java: One API for PPT and PPTX
With Aspose.Slides for Java 14.4.0, we have merged the namespaces that deal with Microsoft PowerPoint’s two file formats: traditional PPT, and the next generation PPTX. This means that it is now easier to work with Aspose.Slides for Java since developers do not have to think about which format is being processed. This unified API speeds up development. Read more.
From The Library
separator 630px Announcing Aspose.Imaging for Cloud & other news, August 2014
fromLibrary Icon Announcing Aspose.Imaging for Cloud & other news, August 2014
Code Sample: Using Aspose.Cells for Java to Create a Dashboard

Microsoft Excel allows users to create a wide range of models and dashboards. An article that we recently wrote for Code Project explains how to apply conditional formatting with Aspose.Cells for Java to quickly create a dashboard in a spreadsheet. Read the article.

Aspose.PDF Exporter uses Aspose.Pdf for Cloud to Export WordPress Posts

We’ve launched a new WordPress plugin, Aspose.PDF Exporter, that lets Aspose for Cloud users add quick and easy PDF export to their WordPress sites. Find out more.

How to Add a Picture Frame to a Slide with Aspose.Slides for .NET

Picture frames allow Microsoft PowerPoint users to add a frame effect to images. Aspose.Slides for .NET lets developers apply picture frames too. We have a tutorial video that shows you how. Watch the video.

Embedding HTML in a Word Document with Aspose.Words for .NET

Brandon Rohrer wrote an article about how to embed HTML in a Word document using Aspose.Words for .NET. As he says, Aspose.Words for .NET “is a very powerful tool which isn’t dependent on Word being installed”. Read the article.

Out And About
separator 630px Announcing Aspose.Imaging for Cloud & other news, August 2014
outAbout Icon Announcing Aspose.Imaging for Cloud & other news, August 2014
Supporting User Groups and Conferences

In August we sponsor a number of user groups, including:

Would you like us to sponsor your user group? Get in contact.

Feedback
separator 630px Announcing Aspose.Imaging for Cloud & other news, August 2014
giveFeedback Icon Announcing Aspose.Imaging for Cloud & other news, August 2014
How Can We Help You?
Do you have ideas for what you’d like to see us do in 2014? Take a minute to tell us.
separator 630px Announcing Aspose.Imaging for Cloud & other news, August 2014
dotNet Icon Announcing Aspose.Imaging for Cloud & other news, August 2014 java Icon Announcing Aspose.Imaging for Cloud & other news, August 2014 cloudApi Icon Announcing Aspose.Imaging for Cloud & other news, August 2014 android Icon Announcing Aspose.Imaging for Cloud & other news, August 2014
Product Releases And Updates
separator 630px Announcing Aspose.Imaging for Cloud & other news, August 2014
Aspose.Total for .NET – The latest versions of our .NET products. Aspose.Slides for Java 8.7.0 – Improved image rendering for PDF export and other improvements.
Aspose.Cells for .NET 8.1.1 – Support for removing scenarios and a number of fixes. Aspose.BarCode for Java 6.0.1 – Maintenance release that fixes a couple of issues.
Aspose.Words for .NET 14.6.0 – Support for automatic change tracking, and a number of enhancements and fixes. Aspose.Tasks for Java 6.8.0 – Read XML files created by OpenProj, write data tables and other enhancements.
Aspose.Pdf for .NET 9.4.0  – Improved font extraction methods and a range of enhancements. Aspose.Email for Java 4.3.0 – Send messages with polls, improved EML to MSG conversion and other enhancements.
Aspose.Slides for .NET 14.5.0 – Support for creating group shapes and many other enhancements and fixes. Aspose.Diagram for Java 2.1.0 – Enhancements and fixes.
Aspose.BarCode for .NET 6.4.0 – Improved QR codes recognition and fixes. Aspose.Total for Cloud – The latest versions of our Cloud products.
Aspose.Tasks for .NET 6.8.0 – Read XML files created by OpenProj, write data tables and other enhancements. Aspose.Total for Android – The latest versions of our Android products.
Aspose.Email for .NET 4.2.0 – Add attachments to TNEF EML and other improvements and fixes. Aspose.Cells for Android 8.1.1 – General enhancements and fixes.
Aspose.Diagram for .NET 2.1.0 – General improvements and fixes. Aspose.Words for Android 1.10.0 – Support for automatic change tracking, and a number of enhancements and fixes.
Aspose.OCR for .NET 2.0.0 – New OCR algorithm, detecting reading order, automatic region detection and other enhancements. Aspose.Pdf for Android 1.3.0 – General enhancements and fixes.
Aspose.Imaging for .NET 2.5.0 – Set transparency and resolution for PNG and other enhancements. Aspose.Total for SharePoint – The latest versions of our SharePoint products.
Aspose.Note for .NET 1.3.1 – Maintenance release that fixes a couple of issues. Aspose.Total for Reporting Services – The latest versions of our SSRS products.
Aspose.Total for Java – The latest versions of our Java products. Aspose.Slides for Reporting Services 5.0.0 – Improved license management.
Aspose.Cells for Java 8.1.1 – General enhancements and fixes. Aspose.Total for JasperReports – The latest versions of our JasperReports products.
Aspose.Words for Java 14.6.0 – Support for automatic change tracking, and a number of enhancements and fixes. Aspose.Pdf for JasperReports 1.3.0 – Export reports with maps and compatible with the latest JasperReport libraries.
Aspose.Pdf for Java 9.3.0 – Convert PDF to PDF/A3 and Microsoft Excel files, PDF expiration and other enhancements.
readBlog ActionButton Announcing Aspose.Imaging for Cloud & other news, August 2014 visitForum ActionButton Announcing Aspose.Imaging for Cloud & other news, August 2014
Posted in Customer Newsletters | Leave a comment

Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月)

共有: facebook Icon Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月) twitter Icon Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月) youTube Icon Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月) googlePlus Icon Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月) linkedIn Icon Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月)
separator 690px Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月)
asposeLogo Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月)
今月の最新情報
2014年 8月
.NET アプリケーションで Email を操作? それほど難しくありません。
Aspose.Email for .NET でアプリケーションに Email の機能を追加できます。Email の送受信、Microsoft Outlook のタスク、ノート、カレンダーでの作業、Email を異なるファイル形式に変換、添付ファイルの制御、その他多数。
advertActionButton Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月)
advertGraphics Aspose.Imaging for Cloud のリリースおよびその他のニュース (2014年 8月)
Continue reading
Posted in Aspose Japan Reseller - www.xlsoft.com/jp, Customer Newsletters | Leave a comment

Aspose.Words Document Viewer & Converter for Android

aspose Words for Android e1401783855548 Aspose.Words Document Viewer & Converter for AndroidDeveloping applications on Android platform can be challenging if you need to integrate multiple features of the OS into your app, while also device 2014 07 31 20345hfjhf9 300x208 Aspose.Words Document Viewer & Converter for Androidtaking care of your main task. Document Viewer & Converter for Android is an example of an app that uses Aspose.Words for Android to asynchronously generate images of each page from documents to render. It also keeps them in cache to prevent regeneration. The app can also convert Microsoft Word documents into various formats.

The app can open from external storage and Dropbox. Any other application that requires a viewer for Word documents can also send requests to open a document.

You can use open the following documents using Document Viewer & Converter for Android.

  • Microsoft Word 2003 documents (DOC)
  • Microsoft Word 2007 documents (DOCX)
  • OpenOffice/LibreOffice OpenDocument Text files (ODT)
  • Rich Text Format (RTF)

Opening Document from Storage

To open file from device storage or SD Card, tap on folder icon on main screen. Browse to the folder and tap on desired document. You can select any of supported document.

device 2014 07 31 203530 168x300 Aspose.Words Document Viewer & Converter for Android

Opening Document from Dropbox

Dropbox might be one of the best place to keep your documents secure and synced between your mobile and computer. You can choose to open a file from your Dropbox by selecting the icon from on main screen. If you don’t have Dropbox installed on your phone, you will be guided accordingly. You may need an internet connection to download files from Dropbox.

device 2014 07 31 212549 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 203835 300x168 Aspose.Words Document Viewer & Converter for Android

Opening Document from other Applications

Applications like Firefox, can send request to another application to open downloaded files. Document Viewer & Converter for Android serves all requests to open Microsoft Word documents. This enables you to open documents from Google Drive too.

device 2014 07 31 203924 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 215542 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 221559 168x300 Aspose.Words Document Viewer & Converter for Android

Viewing a Document

Document Viewer & Converter for Android can be used to view any Microsoft Word document. Pages are displayed on screen one at a time. You can swipe left and right or use buttons on top right corner to navigate between pages. For quick UI response, pages are converted into JPEG images asynchronously and cached before displaying to load.

You can switch to full-screen mode by tapping on page, and switch back by tapping again.

device 2014 07 31 204108 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 212206 300x168 Aspose.Words Document Viewer & Converter for Android

Converting Documents

Conversion is another useful feature of Document Viewer & Converter for Android. Along-with viewing a document, you can also convert it to the following formats.

  • Portable Document Format (PDF)
  • Microsoft Word 2007 (DOCX)
  • Microsoft Word 2003 (DOC)
  • OpenDocument Text (ODT)
  • Rich Text Format
  • Web Page

Document are converted in background. When conversion is complete, you will get a notification. You can tap on notification to open the converted file. Files are stored in Aspose/Converted Documents folder on external storage.

device 2014 07 31 212133 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 212142 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 212206 300x168 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 212238 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 212252 168x300 Aspose.Words Document Viewer & Converter for Android device 2014 07 31 212330 168x300 Aspose.Words Document Viewer & Converter for Android

Download Now

download apk Aspose.Words Document Viewer & Converter for AndroidComplete source code of Document Viewer & Converter for Android is available on Github. Download the project and run from Android Studio. A pre-compiled APK is also available.

Posted in Aspose.Words Product Family | Leave a comment

Get Font Substitution Warnings while Rendering Spreadsheets with Aspose.Cells for Java 8.1.2

aspose Cells for Java 100 Get Font Substitution Warnings while Rendering Spreadsheets with Aspose.Cells for Java 8.1.2We have just released this month’s improvements to Aspose.Cells for Java and upgraded the API to version 8.1.2. This release contains 25 improvements, including the showcased feature discussed below. You can download the latest Aspose.Cells for Java release from the download section now, and start exploring the new features. However, if you are planning to upgrade your project to use the latest build, we recommend you to check the Public API Changes section first.

Here is a look at just a few of the biggest features in this month’s release. For a full list of bug fixes and improvements please refer to the download page in the link above.

Getting Warnings for Font Substitution

Aspose.Cells APIs use TrueType Fonts (TTFs) when a task involves rendering spreadsheets to images or portable formats such as PDF. Aspose.Cells detects which TTFs are required by scanning the spreadsheet styles and tries to find the required fonts on the machine where conversion is taking place. There could be situations when the required TTFs are not available. In such cases, Aspose.Cells substitutes the required font with a similar available one.

With this release, Aspose.Cells provides the means to receive warnings if a font substitution has occurred during the spreadsheet rendering process. This mechanism is available through a set of classes, interfaces and properties that have been added with version 8.1.2.

This is how you may use the latest API to Get Warnings for Font Substitution:

public class WarningCallback implements IWarningCallback 
{
    @Override
    public void warning(WarningInfo info) {
        if(info.getWarningType() == WarningType.FONT_SUBSTITUTION)
        {
            System.out.println("WARNING INFO: " + info.getDescription());
        }
    }
}

static void Run() throws Exception
{
    Workbook workbook = new Workbook("source.xlsx");
    PdfSaveOptions options = new PdfSaveOptions();
    options.setWarningCallback(new WarningCallback());
    workbook.save("output.pdf", options);
}

Bug Fixes

Aspose.Cells for Java 8.1.2 provides fixes for several important issues by enhancing its core. A few fixes worth mentioning are listed below.

  • Improved the HTML rendering engine to fix several issues related to the embedded image format type, hidden columns & chart rendering.
  • Improved the image quality for the PDF rendering engine.
  • Fixed issues related to charts in spreadsheets in reference to the label displacement & properties getting altered or removed.
  • Improved exception handling to tackle corrupted spreadsheets.

As always we appreciate your feedback so if you ever have anything to tell us about this release or anything else, please head to the Aspose.Cells support forum for a chat.

Posted in Aspose.Cells Product Family, Babar Raza | Leave a comment

Converting Word Processing Documents Drawing Objects to Images using Aspose for Cloud

Drawing Objects in Microsoft Word

You can use drawing objects to enhance Microsoft Word documents. Drawing objects include AutoShapes, diagrams, curves, lines, and WordArt drawing objects. These objects are part of the Word document. Use the Drawing toolbar to change and enhance these objects with colors, patterns, borders, and other effects.

Aspose for Cloud

aspose logo 1 300x81 Converting Word Processing Documents Drawing Objects to Images using Aspose for CloudAspose for Cloud is a cloud-based document generation, conversion and automation platform for developers. Before Aspose for Cloud APIs document processing and manipulation tasks were not so easy. Aspose for Cloud APIs give developers full control over documents and file formats. Each API has been developed to offer you a wide range of features for file processing in cloud. Aspose for Cloud REST APIs are platform independent and can be utilized across any platform such as Node.js, Amazon, Salesforce etc. without any installation. Being language independent makes it a suitable choice for the developers having expertise in any programming language. We also provide SDKs in different programming languages such as .NET, Java, PHP, Ruby, Node.js, ZF 2.0, Symfony2, Laravel.

Converting Drawing Objects to Images using Aspose Cloud SDK for PHP

You can use hte Aspose for Cloud SDK for PHP to convert drawing objects to images. Please install the SDK from the links in the Installation section and read the example code to understand how to work with drawing objects in word processing documents.

Installation

You can download the SDK using “Composer” from any of the following places:

Usage Example

Start a Free Trial Today

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.

Posted in Aspose SDKs, Aspose for Cloud APIs | Leave a comment

PDF to Excel Conversion, PDF/A-3, Better JavaScript Support, Layered PDF Files and Improved PDF Size Optimization Features with Aspose.Pdf for Java 9.3.0

aspose Pdf for Java 100 PDF to Excel Conversion, PDF/A 3, Better JavaScript Support, Layered PDF Files and Improved PDF Size Optimization Features with Aspose.Pdf for Java 9.3.0Aspose.Pdf for Java is ported from its sibling Aspose.Pdf for .NET, so in every new release, we work to support  the same set of features in the Java API as are available in the .NET API. The new release of Aspose.Pdf for Java 9.3.0 is a better and enhanced version of the API compared to earlier versions. This new release introduces some great new features, enhancements to existing features and fixes for issues in previous released versions. We always recommend using the latest release of our APIs because they include lots of new enhancements and code optimizations.

PDF to Excel Conversion

In this release, we have introduced the feature to convert a PDF file to a Microsoft Excel workbook, where each individual page in the PDF is rendered as a separate worksheet. To accomplish this requirement, a new class named ExcelSaveOptions has been introduced. The following code snippet shows the steps to convert a PDF file to an Excel workbook. For further details, you may consider reading Convert PDF to Excel workbook.

// Load PDF document
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document("c:/input.pdf");
// Instantiate ExcelSave Option object
com.aspose.pdf.ExcelSaveOptions excelsave = new com.aspose.pdf.ExcelSaveOptions();
// Save the output in XLS format
pdfDocument.save("c:/resultant.xls", excelsave);

PDF to PDF/A_3B Conversion

PDF to PDF/A conversion has been supported in this API for a while already. To further extend this feature, we have introduced the capability to convert PDF documents to PDF/A_3B format. For this purpose, a new value, PDF_A_3B, has been introduced to the PdfFormat class. For more information, read the Convert PDF File to PDF/A article.

// Load source PDF file
Document doc = new Document("inFile.pdf");
// Convert file to PDF/A_3 format
doc.convert("logFile.txt", PdfFormat.PDF_A_3B, ConvertErrorAction.Delete);
// Save resultnat file
doc.save("outFile.pdf");

PDF Expiration feature

JavaScript is one of the great options available in PDF documents as it provides the capability to call certain features/operations at particular event. Using JavaScript, we can also set PDF expiration. Please visit the following link for further information on how to set PDF expiration.

Add Layers to PDF File

Layers can be useful when you have a multi-lingual file that you want to distribute and want text in each language to appear on different layers, with the background design appearing on a separate layer as well. You might also create documents with animation that appears on a separate layer. One example could be to add a license agreement to your file, and you don’t want a user to view the content until they agree to the terms of the agreement. The latest release of Aspose.Pdf for Java supports adding layers to PDF files (either while creating a new document or manipulating an existing file). In order to accomplish this requirement, a class named Layer is introduced. Please visit the following link for further information about adding layers to a PDF file.

Un-embed Fonts from PDF

Font are embedded inside a PDF file so that text is displayed properly when the document is viewed on a machine that does not have all of the fonts the PDF contains installed. However, when embedding the fonts, the complete font is included in the PDF and the file size increases. To optimize the size of a PDF file, is is possible to un-embed fonts. To accomplish this requirement, the UnembedFonts(..) method has been introduced to the OptimizationOptions class. If true is passed as an argument to this method, the fonts in the PDF file are no longer embedded. Please visit the following link for further details on how to optimize PDF file size.

Set Privileges on a PDF using DocumentPrivilege

The DocumentPrivilege class has been introduced to allow the users to set PDF access privileges. Using this class, you can allow or prevent users from certain operation on a PDF file. Please take a look at the following article for information on how to set privileges on an existing PDF file.

 

As well as the new features mentioned above, this version includes fixes related to converting SVG/PCL/HTML/XPS files to PDF and converting PDF files to image format. Better text and image extraction, general performance improvements when generating PDF files and much more. Go ahead, download and start exploring the new release of Aspose.Pdf for Java 9.3.0.

Posted in Aspose.Pdf Product Family, Nayyer Shahbaz | Leave a comment

Extensive Support for PNG Format & Specify Angle for Image Rotation with Aspose.Imaging for .NET 2.5.0

aspose Imaging for net 100 Extensive Support for PNG Format & Specify Angle for Image Rotation with Aspose.Imaging for .NET 2.5.0We are pleased to announce the monthly release of Aspose.Imaging for .NET, version 2.5.0. Our team has been hard at work bringing many useful improvements to this edition of the Aspose.Imaging API. You can start exploring the newly added features & enhancements immediately, but before you head to the download section, here is a look at just a few of the biggest features in this month’s release. For a full list of bug fixes and improvements please refer to the download pages in the link above. In case are going to upgrade the API, please refer to the article Public API Changes in reference to Aspose.Imaging for .NET 2.5.0.

Setting Resolution for PNG Image Format

With the release of 2.5.0, Aspose.Imaging for .NET supports setting the resolution for PNG image format. In order to provide this feature, the Aspose.Imaging for .NET API has exposed the ResolutionSetting class. The PngOptions class now has a property by the name ResolutionSettings that accepts an instance of the ResolutionSetting class to specify the horizontal & vertical resolution.

Specifying Transparency for PNG Images

One of the advantages of saving images in PNG format is that PNG can have transparent background. Aspose.Imaging for .NET has provided the feature to specify the transparency for PNG images. Starting from 2.5.0, Aspose.Imaging for .NET API has exposed the ResolutionSettings property for the PngOptions class that accepts an instance of the TransparentColorSetting class to specify any color that can be set as transparent color in the output image.

Rotating an Image to any Angle

With this release, the RasterImage class provides a Rotate method to help users who wish to rotate an image at a specific angle. The RasterImage.Rotate method accepts three parameters as listed below.

  1. Rotation Angle: A float type parameter specifies the rotation angle on which the image has to be rotated. A positive value rotates the image clockwise whereas a negative value performs an anticlockwise rotation.
  2. Resize Proportionally: A Boolean type parameter specifies if the image size has to changed according to the rotated rectangle (corner points) projections. If set to false, the image dimensions are untouched and only the internal image contents are rotated.
  3. Background Color: A color type parameter specifies the color to be filled in the background of the rotated image.

As always we appreciate your feedback so if you ever have anything to tell us about this release or anything else, please head to the Aspose.Imaging forum for a chat.

Posted in Aspose.Imaging Product Family, Babar Raza | Leave a comment

Work with Documents, Spreadsheets, Presentations, PDFs and Barcodes in Python with Aspose for Cloud Service

Introduction to Python

python logo master v3 TM1 300x101 Work with Documents, Spreadsheets, Presentations, PDFs and Barcodes in Python with Aspose for Cloud ServicePython is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs. Python can be easy to pick up whether you’re a first time programmer or you’re experienced with other languages. The community hosts conferences and meetups, collaborates on code, and much more. Read more about Python.

Aspose for Cloud

aspose logo 1 300x81 Work with Documents, Spreadsheets, Presentations, PDFs and Barcodes in Python with Aspose for Cloud ServiceAspose for Cloud is a cloud-based document generation, conversion and automation platform for developers. Before Aspose for Cloud APIs document processing and manipulation tasks were not so easy. Aspose for Cloud APIs give developers full control over documents and file formats. Each API has been developed to offer you a wide range of features for file processing in cloud. Aspose for Cloud REST APIs are platform independent and can be utilized across any platform such as Amazon, Salesforce etc. without any installation. Being language independent makes it a suitable choice for the developers having expertise in any programming language. We also provide SDKs in different programming languages such as .NET, Java, PHP, Ruby, Node.js and Python.

Aspose for Cloud SDK for Python

We are pleased to announce the release of a revamped version of the Aspose for Cloud SDK for Python. The Aspose for Cloud SDK for Python has been around for a quite while and now we’ve updated it with PEP-8 coding standards and also used some requests as a REST library. New enhancements allows Python developers to communicate with the Aspose for Cloud REST API easily and efficiently. Aspose for Cloud SDK for Python makes it easy for Python developers to work with Microsoft Word documents, Microsoft Excel spreadsheets, Microsoft PowerPoint presentations, Adobe PDFs, OpenOffice formats, barcodes, OCR and email formats and protocols in their applications.

Download

Start a Free Trial Today

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.

Posted in Aspose.Total Product Family | Leave a comment

Improved Chart, Text and Chinese Font Rendering Support in Aspose.Slides for Java 8.7.0

aspose Slides for Java 100 Improved Chart, Text and Chinese Font Rendering Support in Aspose.Slides for Java 8.7.0 We like to share the release announcement for Aspose.Slides for Java 8.7.0. This is a maintenance release and one of the last product releases for the legacy Aspose.Slides API that will be maintained for a period of three months to make a smooth transition from legacy to the new Aspose.Slides for Java API.

Fixes and Improvements

We have focused on resolving rendering issues in this version and have made good progress towards fixing issues with charts, tables and text rendering in generated PDF and slide thumbnails for both Windows and Mac. We have resolved rendering issues like East Asian fonts rendering, missing charts, missing background, missing images and text in this new release.

A marked improvement has also been achieved in terms of API performance as compared to its predecessor. Some issues with corrupted presentation have also been rectified in this release.

To see a complete list of fixes and to download Aspose.Slides for Java 8.7.0, please visit the download page.

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

Enhanced PDF to HTML, PDF to Excel File Conversion and Better Compatibility with COM Interop with Aspose.Pdf for .NET 9.4.0

aspose Pdf for net 100 Enhanced PDF to HTML, PDF to Excel File Conversion and Better Compatibility with COM Interop with Aspose.Pdf for .NET 9.4.0At Aspose, we always strive to provide enhanced versions of our APIs, stable and optimized as compared to earlier versions. In the recent versions of Aspose.Pdf for .NET, our focus has been improving file format conversion including PDF to HTML, SVG to PDF, PDF to Excel, PDF to DOC, image to PDF and PDF to image format. In fact, PDF files to HTML rendering is one of the most demanded features because it provides the ability to convert any PDF file to raw HTML format and the output HTML can be viewed on any platform using any web browser. This makes our customers’ work a lot easier and enables them to use our API in distributed web applications as well as cloud based systems. It helps their customers view PDF files on various platforms, without being worried about the PDF viewing application. This feature is used a lot in applications developed by our sister company named GroupDocs. In latest release of Aspose.Pdf for .NET 9.4.0 , we have introduced a feature that extracts fonts independently of HTML, SVG and other resources. The following code snippet shows the steps to perform this feature.

  1. Performs fonts extraction from the document (with new FontAbsorber class).
  2. Saves fonts into cache folder (with Font.Save method).
  3. Passes the cached fonts into HTML conversion procedure (with htmlOptions.FontSources).
  4. Splits the document into separate pages.
  5. Performs HTML conversion of each page in parallel threads.
  6. All the threads use single fonts set.
  7. If the fonts are passed as a font sources the fonts are not extracted, decoded and processed, they are just passed into the resources saving callback in corresponding format.
public void PDFNEWNET_36524_cacheFonts_Sample()
{
Helper.SetLicense();

string inFile = TestSettings.GetInputFile("36524.pdf");

HTMLMultithreadingTester_FontCache_Sample tester = new HTMLMultithreadingTester_FontCache_Sample(inFile);
tester.Run();
}

class HTMLMultithreadingTester_FontCache_Sample
{
public HTMLMultithreadingTester_FontCache_Sample(string inputFile)
{
    inFile = inputFile;
    fileNameOnly = Path.GetFileNameWithoutExtension(inFile);
    testOut = Path.Combine(TestSettings.TestOutput, fileNameOnly);

    // Delete previous output directories
    if (Directory.Exists(testOut))
    {
        string[] files = Directory.GetFiles(testOut, "*.*", SearchOption.AllDirectories);
        foreach (string file in files)
        {
            File.Delete(file);
        }
        string[] directories = Directory.GetDirectories(testOut, "*.*", SearchOption.AllDirectories);
        foreach (string dir in directories)
        {
            Directory.Delete(dir);
        }
    }
    Directory.CreateDirectory(testOut);
}

string inFile;
string testOut;
string fileNameOnly;

public Dictionary outFileNames = new Dictionary();

public void Run()
{
    Helper.SetLicense();

    // Folder that contains pre-generated cached fonts 
    // All the fonts of the document will be placed to this folder and will be passed to each page conversion procedure
    string fontCacheFolder = Path.Combine(testOut, fileNameOnly + "_fonts_preSaved\\");
    string cacheFontFileTemplate = Path.Combine(fontCacheFolder, "font{0}.ttf");

    // Folder that will contain fonts as a result of the conversion procedure
    string fontOutFolder = Path.GetFullPath(Path.Combine(testOut, fileNameOnly + "_fonts\\"));

    // Create our folders
    Directory.CreateDirectory(fontCacheFolder);
    Directory.CreateDirectory(fontOutFolder);

    System.Diagnostics.Stopwatch sw = System.Diagnostics.Stopwatch.StartNew();

    Aspose.Pdf.Document document = new Aspose.Pdf.Document(inFile);
    int pageCount = document.Pages.Count;

    // Find all the fonts of the document
    FontAbsorber fa = new FontAbsorber();
    fa.Visit(document);

    FontCollection fc = fa.Fonts;
    List fontFiles = new List();

    // Save all the fonts in the cache folder
    int fontNum = 0;
    foreach (Pdf.Text.Font font in fc)
    {
        string cacheFontFile = string.Format(cacheFontFileTemplate, fontNum++);

        using (Stream fileStream = File.OpenWrite(cacheFontFile))
        {
            font.Save(fileStream);
        }
        fontFiles.Add(cacheFontFile);
    }

    int pageNumber = 0;
    // Split the document to separate pages to convert them in parallel
    foreach (Page pdfPage in document.Pages)
    {
        using (Document newDocument = new Document())
        {
            newDocument.Pages.Add(pdfPage);
            newDocument.Save(Path.Combine(testOut, String.Format(fileNameOnly + "_page{0}.pdf", pageNumber)));
        }
        pageNumber++;
    }
    document.Dispose();

    // Run conversion threads
    Thread[] threads = new Thread[pageCount];
    ThreadParam[] threadParams = new ThreadParam[pageCount];

    for (int i = 0; i < pageCount; i++)
    {
        threads[i] = new Thread(new ParameterizedThreadStart(Worker));
        threadParams[i] = new ThreadParam(i);
        threadParams[i].fontFiles = fontFiles;
        threads[i].Start(threadParams[i]);
    }

    // Wait threads to finish
    for (int i = 0; i < pageCount; i++)
    {
        threads[i].Join();
    }

    sw.Stop();
    Console.WriteLine(sw.Elapsed.TotalSeconds);
}

private void Worker(Object param)
{
    ThreadParam threadParam = (ThreadParam)param;
    Console.Out.WriteLine("started: " + threadParam.PageNum);

    try
    {
        using (Aspose.Pdf.Document pdfPageDocument = new Aspose.Pdf.Document(Path.Combine(testOut, String.Format(fileNameOnly + "_page{0}.pdf", threadParam.PageNum))))
        {
            Aspose.Pdf.HtmlSaveOptions htmlOptions = new Aspose.Pdf.HtmlSaveOptions();
            htmlOptions.SplitIntoPages = false;
            htmlOptions.FixedLayout = true;
            htmlOptions.FontSavingMode = HtmlSaveOptions.FontSavingModes.AlwaysSaveAsTTF;
            htmlOptions.CompressSvgGraphicsIfAny = false;
            htmlOptions.CustomResourceSavingStrategy = new HtmlSaveOptions.ResourceSavingStrategy(CacheFontsStrategy);

            // addtthe cached fonts as a font sources
            foreach (string fontFile in threadParam.fontFiles)
            {
                htmlOptions.FontSources.Add(new FileFontSource(fontFile));
            }
            htmlOptions.RasterImagesSavingMode = Aspose.Pdf.HtmlSaveOptions.RasterImagesSavingModes.AsExternalPngFilesReferencedViaSvg;

            string outputFileName = Path.GetFullPath(Path.Combine(testOut, String.Format(fileNameOnly + "_page{0}.html", threadParam.PageNum)));
            pdfPageDocument.Save(outputFileName, htmlOptions);

            outFileNames[threadParam.PageNum] = outputFileName;
        }
    }
    catch (Exception ex)
    {
        threadParam.isSuccess = false;
        Console.Out.WriteLine(ex.ToString());
    }
}

class ThreadParam
{
    public ThreadParam(int pageNum)
    {
        this.PageNum = pageNum;
        this.isSuccess = true;
    }
    public int PageNum;
    public List fontFiles;
    public bool isSuccess;
}

static object resourceSavingSync = new object();

/// 
/// Resource saving callback that saves fonts into output folder and builds css links to the fonts
/// 
private string CacheFontsStrategy(SaveOptions.ResourceSavingInfo resourceSavingInfo)
{
    // The callback is performed in parallel threads, so synchronization must be implemented
    lock (resourceSavingSync)
    {
        string fontsFolder = Path.GetFullPath(Path.Combine(testOut, fileNameOnly + "_fonts\\"));
        if (!Directory.Exists(fontsFolder))
            Directory.CreateDirectory(fontsFolder);

        // First path of this method is for saving of font
        if (resourceSavingInfo.ResourceType == SaveOptions.NodeLevelResourceType.Font)
        {
            string outFontFile = fontsFolder + Path.GetFileName(resourceSavingInfo.SupposedFileName);
            System.IO.BinaryReader fontBinaryReader = new BinaryReader(resourceSavingInfo.ContentStream);
            System.IO.File.WriteAllBytes(outFontFile,
                fontBinaryReader.ReadBytes((int)resourceSavingInfo.ContentStream.Length));
            string fontUrl = "../" + fileNameOnly + "_fonts/" + resourceSavingInfo.SupposedFileName;
            return fontUrl;
        }
        resourceSavingInfo.CustomProcessingCancelled = true;
        return null;
    }
}
}

When above stated code is executed, the fonts are created only once, independent of output HTML files.

Specify Image Format During PDF to HTML Export

Recently, we introduced a feature that allows developers to specify the image file format when exporting PDF file to HTML format. In order to accomplish this feature, we added a new class named HtmlSaveOptions.RasterImagesSavingModes. The following code snippet shows how to select the target graphic format.


Aspose.Pdf.Document doc = new Document(@"c:\pdftest\36009.pdf");

HtmlSaveOptions options = new HtmlSaveOptions();
options.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground;
// Next line is just to make view best for max amount of browsers
// You can coment it out if You will
options.FontSavingMode = HtmlSaveOptions.FontSavingModes.SaveInAllFormats;
doc.Save(@"c:\pdftest\36009.html", options);

When the above code is executed, the output folder will not contain any SVG files but only PNG files are generated (one PNG per page).

PDF to Excel – Export All Pages to a Single Sheet

By default, when exporting PDF file to Excel format, each PDF page is converted to an individual Excel worksheet. However, we recently received a requirement for exporting all PDF pages to single worksheet in an Excel file. To accomplish this requirement, the following code snippet can be used

Document doc = new Document("Original.pdf");
ExcelSaveOptions options = new ExcelSaveOptions();
// Set this property to true
options.MinimizeTheNumberOfWorksheets = true;
doc.Save("output.xls", options);

Set Table Columns Width as Per its Contents

Tables are one of the main objects when creating or manipulating PDF files. While creating a table object, we need to specify the columns width information using the Table.ColumnWidths property. However, we may want to auto-adjust the table columns width to fit the contents. In order to cater to this requirement, a new enumeration named ColumnAdjustment has been introduced. It contains the value AutoFitToContent. Please take a look over following code snippet to accomplish this requirement.

string outFile = "36916.pdf";
// Added document
Document doc = new Document();
Page page = doc.Pages.Add();
// Create a table object and add it to the paragraphs collection of the section 
Table tab1 = new Table();
page.Paragraphs.Add(tab1);
// Set the column widths and default cell border of the table
tab1.ColumnAdjustment = ColumnAdjustment.AutoFitToContent;
tab1.ColumnWidths = "50 50 50";
tab1.DefaultCellBorder = new BorderInfo(BorderSide.All, 1F);
// Prepare an array of string values to be added to table
string[] data = new string[] { "Sample Text", "8.4", "Its test to set column width as per contnents" };
// Import the contents of the array created in above step
tab1.ImportArray(data, 0, 0, true);
// Save the resultant PDF
doc.Save(outFile);

Create InkAnnotation with Stroke Ends as Rounded

By default, the stroke ends of InkAnnotation are square. However, recently we received a requirement to create InkAnnotation with rounded corners. In order to accomplish this requirement, the CapStyle property has been added to the InkAnnotation class. The CapStyle enumeration contains two values: CapStyle.Rectangular and CapStyle.Rounded. By default, InkAnnotation.CapStyle is set to CapStyle.Rectangular. To create rounded corner annotation, please use the following code snippet.

Document doc = new Document("PdfWithText.pdf");
Page pdfPage = doc.Pages[1];
System.Drawing.Rectangle drect = new System.Drawing.Rectangle();
drect.Height = (int)pdfPage.Rect.Height;
drect.Width = (int)pdfPage.Rect.Width;
drect.X = 0;
drect.Y = 0;
Aspose.Pdf.Rectangle arect = Aspose.Pdf.Rectangle.FromRect(drect);
ArrayList inkList = new ArrayList();
Aspose.Pdf.Point[] arrpt = new Aspose.Pdf.Point[3];
inkList.Add(arrpt);
arrpt[0] = new Point(100, 800);
arrpt[1] = new Point(200, 800);
arrpt[2] = new Point(200, 700);
InkAnnotation ia = new InkAnnotation(pdfPage, arect, inkList);
ia.Title = "XXX";
ia.Color = Aspose.Pdf.Color.LightBlue; // (GetColorFromString(stroke.InkColor));
ia.CapStyle = CapStyle.Rounded;
Border border = new Border(ia);
border.Width = 25;
ia.Opacity = 0.5;
pdfPage.Annotations.Add(ia);
doc.Save("37071.pdf");

Show Note on Mouseover Event

Recently one of our customers wanted to create an annotation that would appear when a user moused over some text or image. To accomplish this, some enhancements have been made to the API. Now you can make popup window notes which appear on mouse over or another events you need. Please try using the following code snippet:

/*Declaring of parameters*/
// Unique name of annotation
string name = "IMDB0145487";
// Title of popup window
string title = "Spider-Man";
// Description that be in popup window
string comment = "Movie produced in 2002; run length: 121";
// Path to image for that popup window will appeared on mouse over
string imagePath = (TestSettings.GetInputFile("36228.jpg"));
// Position of image on page of document
Aspose.Pdf.Rectangle imageRect = new Aspose.Pdf.Rectangle(2, 700, 97, 840);
// Position of popup on page of document
Aspose.Pdf.Rectangle popupRect = new Aspose.Pdf.Rectangle(90, 610, 235, 710);

/*Document creating*/
Document doc = new Document();
doc.Pages.Add();
// Page for adding of image
Page page = doc.Pages[1];

/*Add image on page*/
// Load image into stream
FileStream imageStream = new FileStream(imagePath, FileMode.Open);
// Add image to Images collection of Page Resources
page.Resources.Images.Add(imageStream);
// Using GSave operator: this operator saves current graphics state
page.Contents.Add(new Operator.GSave());
// Create Rectangle and Matrix objects
Aspose.Pdf.DOM.Matrix matrix =
    new Aspose.Pdf.DOM.Matrix(new double[]
    {
        imageRect.URX - imageRect.LLX, 0, 0, imageRect.URY - imageRect.LLY, imageRect.LLX, imageRect.LLY
    });
// Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
page.Contents.Add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Using Do operator: this operator draws image
page.Contents.Add(new Operator.Do(ximage.Name));
// Using GRestore operator: this operator restores graphics state
page.Contents.Add(new Operator.GRestore());

/*Add text annotation*/
TextAnnotation text = new TextAnnotation(page, imageRect);
text.Name = name;
text.Title = title;
text.Contents = comment;
// This flags must be raised to suppress showing of annotation icon
text.Flags = AnnotationFlags.NoView|AnnotationFlags.ReadOnly;
page.Annotations.Add(text);

/*Add popup annotation*/
PopupAnnotation popup = new PopupAnnotation(page, popupRect);
page.Annotations.Add(popup);

/*Link text and popup annotations*/
text.Popup = popup;
popup.Parent = text;

/*Add button*/
Field field = new ButtonField(page, imageRect);
doc.Form.Add(field);

/*Set ButtonField actions*/
string fieldName = field.PartialName;
string openScript =
    "var t = this.getAnnot(this.pageNum, '" + name + "'); t.popupOpen = true; var w = this.getField('" + fieldName + "'); w.setFocus();";
string closeScript = "var t = this.getAnnot(this.pageNum, '" + name + "'); t.popupOpen = false;";
field.Actions.OnEnter = new JavascriptAction(openScript);
field.Actions.OnExit = new JavascriptAction(closeScript);

/*Save document*/
doc.Save(TestSettings.GetOutputFile("36228.pdf"));

As well as the above features, there have been numerous enhancements in the recent release of Aspose.Pdf for .NET. One of the enhancements include adding a default value to the PageLayout enumeration. To do this, the PageLayout.Default value has been added. Various improvements related to XPS to PDF conversion, PDF to XPS conversion, PDF file optimization, concatenation of PDF file, HTML to PDF conversion, PDF to DOC conversion, PDF to HTML, PDF to image, SVG to PDF, CGM to PDF conversion, image and text manipulation, addition of TOC and much more. In short, this release includes fixes for around 90 issues and is a major release. Please go ahead, download and start exploring the new release of Aspose.Pdf for .NET 9.4.0.

Posted in Aspose.Pdf Product Family, Nayyer Shahbaz | Leave a comment