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

DNN Exchange Sync – 2 Way Link between DNN Users and Microsoft Exchange Server Contacts

aspose Email for net 100 DNN Exchange Sync – 2 Way Link between DNN Users and Microsoft Exchange Server ContactsDNN Exchange Sync is an open source module from Aspose that links your DNN users to Microsoft Exchange Server contacts without requiring any other software. It uses powerful features of Aspose.Email for .NET to allow you to easily sync your Exchange contacts and DNN users. The contact details from Exchange server and DNN user profile are smartly mapped so that all the information associated with a DNN user or Exchange contact is migrated properly from one system to the other. This initial version of the module is enriched with the following cool features to make the sync process simple and easy to use.

  • Exchange server credentials are encrypted and saved in database so that you don’t have to enter them every time you use this module.
  • Sync all or selected Exchange contacts to DNN and vice versa.
  • Option to select one or more DNN roles when performing Exchange to DNN sync.
  • Existence of every contact/user in the destination system is checked before migration to make sure that the sync does not create duplicate records.
  • A brief summary of the sync process is shown upon completion.

 

DNN Exchange Sync home 300x187 DNN Exchange Sync – 2 Way Link between DNN Users and Microsoft Exchange Server Contacts

DNN Exchange Sync Module

Exchange to DNN Sync 300x223 DNN Exchange Sync – 2 Way Link between DNN Users and Microsoft Exchange Server Contacts

Exchange to DNN Sync

DNN to Exchange Sync 300x157 DNN Exchange Sync – 2 Way Link between DNN Users and Microsoft Exchange Server Contacts

DNN to Microsoft Exchange Server Sync

 

Installing the DNN Exchange Sync Module

You can download the DNN Exchange Sync module from one of the following locations:

Once downloaded, please follow these steps to install the module to your DNN website:

  1. Log into your site as either Host or another Supersuser level account.
  2. Navigate to the Host menu and select Extensions.
  3. Click on Install Extension Wizard.
  4. As directed, browse to the location of the downloaded ZIP file, select it then click Open.
  5. Click Next, accept the license and continue through the install.
  6. When finished, click Return.

Please check this module installation video from DNN for more details.

Note: If you get an error while uploading the module this is due to the maxRequestLength limit in your DNN installation’s web.config. Open web.config and update maxRequestLength to 20MB by setting maxRequestLength=”20480″ and try to upload the module again.

Using DNN Exchange Sync Module

After you have installed DNN Exchange Sync module it is really simple to start using it on your website. Please follow these simple steps to get started

  1. Make sure you are logged-in to DNN as a Host or Admin level account.
  2. Navigate to the page where you want to add the DNN Exchange Sync Module.
  3. Select Modules followed by Add New Module from the top ribbon.

    DNN Exchange Sync add module to page 300x132 DNN Exchange Sync – 2 Way Link between DNN Users and Microsoft Exchange Server Contacts

  4. From the list select, Aspose DNN Exchange Sync and drag it to a place of your choice on the page.

You have successfully added DNN Exchange Sync Module to your page. You will be presented with 3 simple options to get started

  • Exchange to DNN Sync
  • DNN to Exchange Sync
  • Exchange Settings

You are asked to enter Microsoft Exchange Server details when clicking on any option for the first time. A simple form takes all the required details to connect to your Exchange account and then these details will be encrypted and saved in the database for later use.

DNN Exchange Sync Exchange Server Details 300x178 DNN Exchange Sync – 2 Way Link between DNN Users and Microsoft Exchange Server Contacts

DNN Exchange Sync - Microsoft Exchange Server Details

Once the sync process is completed, a brief summary of migrated records count and list of records that already existed and are not imported is shown.

 

Video

Please check the video below to see it in action.

Posted in Aspose.Email Product Family | Leave a comment

Support for Adding Group Shapes and Improved Chart Rendering in Aspose.Slides for .NET 14.5.0

aspose Slides for net 100 Support for Adding Group Shapes and Improved Chart Rendering in Aspose.Slides for .NET 14.5.0We are pleased to present the release of Aspose.Slides for .NET 14.5.0. This is a major product release in which we have included some new features and have stabilized many existing ones.

New Features

We have introduced much requested features for adding, inserting and updating group shapes on slides. Previously, it was only possible to update group shapes already in a presentations by accessing them. But now, it is possible to create group shapes from scratch and add new shapes to group shape collection. For more details about the supported features, please visit the documentation article Working With Group Shapes.

We have also added support for identifying if a presentation is password protected or not without even loading the presentation.

Resolved Issues

We have enhanced the presentation rendering support and have resolved issues related to improper tables, SmartArt, text and chart rendering in generated slide thumbnails and exported PDF files. We have resolved issues pertaining to accessing and saving presentations that resulted in different exceptions in earlier product versions. Issues of corrupted presentation files generated have also been addressed in this release.

The slide cloning support has also been improved by rectifying issues of cloning slides with video and charts on them. The issue of wrong layout slide applied during slide cloning has also been rectified in this release.

We have enhanced chart support in this release and have resolved issues related to setting the chart category direction, formatting chart labels, setting font related properties for different chart entities and radar chart support.

We have made several enhancements to the new API. Please visit the documentation article Public API and Backwards Incompatible Changes in Aspose.Slides for .NET 14.5.0 for further reference.

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

Posted in Aspose.Slides Product Family, Aspose.Total Product Family | 3 Comments

Preserve Export Layout and Fix Error Messages using Aspose.Diagram for Java 2.1.0

aspose diagram for java e1401178596961 Preserve Export Layout and Fix Error Messages using Aspose.Diagram for Java 2.1.0We are pleased to announce the release of Aspose.Diagram for Java 2.1.0. This release fixes issues primarily related to the measurement of elements and export layout quality of Microsoft Visio drawings. These formatting improvements make it easy to create good-looking output PDFs with just a couple of lines of source code. This release also covers a number of new error messages, enhancements along with bug fixes.

Export Layout Quality and Improvements

If  your Microsoft Visio users have prepared a pretty heavy drawing in a beautiful layout, chances are they’d like to maintain its appearance when exporting it to other formats. We have improved the APIs performance in this area. This release includes a number of key fixes when exporting Visio diagram to the PDF format:

  • The arrow thickness is preserved in the output PDF format. Previously, it was ignored.

  • The caption text gets overlapped with the arrow symbol line. It is now fixed.

  • The black spots were generated in the output PDF format. The heading row in table and other icons at the bottom were getting blackened.

  • Pop up message was appearing as “Do you want to save changes to ‘MyDigram.pdf’ before closing?” while closing output PDF documents.

Error Message Fixes

This new version brings fixes to reported error messages and include various other enhancements. Please see the complete list of fixed error messages in the new version.

  • Fixed: NumberFormatException message when calling the Page.addShape method.

  • Fixed: IllegalArgumentException message occurred when converting VSD to PDF format.

  • Fixed: NumberFormatException message when saving SVG format

Other Auto-Ported Features from the .NET Version

Aspose.Diagram for Java is fully ported from the Aspose.Diagram for .NET API. The porting process has added a few more features that are already available in the latest version of Aspose.Diagram for .NET. Below is a of new features.

  • Get a master from a Microsoft Visio drawing by name – Developers can now retrieve a master object using its name. The MasterCollection.getMasterByName method searches all masters in the masters collection’s containing master. Developers just need to pass the exact master name. Developers can use either the master ID or name: the MasterCollection.GetMaster and MasterCollection.GetMasterByName methods give developers that option. You can find the details of this feature in the following help topic: Get Master from a Visio Drawing by Name

  • Glue group shapes inside a container – Developers can dynamically glue group shapes inside the container group shape. You can find details of this feature in the following help topic: Glue Group Shape Inside a Container

  • Check for the presence of master in a Visio drawing by name – Developers can now check the presence of a master object by its name using the MasterCollection.IsExist method. It checks that the title master exists and, if it does, returns true, otherwise false. Developers can use either the master ID or name: the MasterCollection.IsExist method supports both options. You can find details of this feature in the following help topic: Check Presence of a Master in a Visio Drawing

  • Glue Visio shapes together with connection points - This feature allows developers to glue shapes together with connection points. A connection point is a special point on a shape that can be used to “glue” other shapes to it. When developers glue a shape to a connection point, the shapes stay connected, even if one of the shapes is moved. Please see this feature in the following help topic: Glue Visio Shapes Together with Connection Point

Public API Changes

The following API changes in the new version are also worth noting:

  • The MasterCollection.GetMasterByName method has been added. It takes a master name as parameter and returns a master object.

  • The MasterCollection.IsExist method has been added. It takes a master ID or name as parameter and returns true in case the master is present.

  • The Page.GlueShapesInContainer method has been added. It’s used to glue shapes in the container.

  • The Page.GlueShapes method has been added. It takes three parameters.

    • long shapeFromId or Shape shapeFrom

    • ConnectionPointPlace placeTo

    • long shapeToId or Shape shapeTo

Aspose.Diagram for Java Resources

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

We hope you’ll enjoy this new release that save time and efforts. The API is quite simple and developers can use it in application easily.

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

Save Word Documents to PDF, HTML, TIFF and Other Formats with Additional Settings and Updated Pricing Plans in Aspose for Cloud 1.1.6.9

asposeCloudAPIs Save Word Documents to PDF, HTML, TIFF and Other Formats with Additional Settings and Updated Pricing Plans in Aspose for Cloud 1.1.6.9We are pleased to announce the release of Aspose for Cloud 1.1.6.9. Aspose for Cloud’s pricing plans have been changed since this release and you can go for any pricing plan according to your requirement if you are a new customer.

With this new release, the create, read, manipulate and export features are greatly improved. You can convert Word documents to DOC, DOCX, DOCM, DOT, DOTX, DOTM, OOXML, HTML, HTMLFixed, WordML, MHTML, ODT, PDF, XPS, TIFF, EPUB, image and several other formats and set a number of conversion options to control the conversion.

You can change DML shape effects and down-sample options when converting to PDF as well as render DropDown fields as text when converting to HTML. You can also add, update or delete chart title in Microsoft Excel worksheets.

Several UI and API issues have also been fixed in this release. Below, is a list of enhancements by API.

Aspose.Words for Cloud

  • Save Word documents as other formats – This feature allows you to save Microsoft Word documents as DOC, DOCX, DOCM, DOT, DOTX, DOTM, OOXML, HTML, HTMLFixed, WordML, MHTML, ODT, PDF, XPS, TIFF, EPUB, image and several other formats. You can use the saveAs resource and send a POST request (specifying save options in the request body) to convert to any supported format.

In addition to the above feature, the Aspose.Words for Cloud codebase has been upgraded to version 14.5.0 for improved performance and a better user experience.

Aspose.Cells for Cloud

  • Set chart title – This feature allows you to set a new chart title in a worksheet. The title resource can be used and a PUT request can be sent (specifying options for chart title) to set a new chart title.
  • Update chart title – This feature allows you to update chart title in a worksheet. The title resource can be used and a POST request can be sent (specifying options for chart title) to update an existing chart title.
  • Delete chart title – This feature allows you to delete an existing chart title from a worksheet. The title resource can be used and a DELETE request can be sent to delete a specific chart title.

Aspose for Cloud Platform

The following improvements have been made to the Aspose for Cloud platform:

  • In API limit email, the start and end dates are the same.
  • Can’t scan a single barcode using a trail account.
  • Invalid XML characters are causing XML serialization exception.
  • Update Google Analytics tracking for cloud.aspose.com.
  • Implement pricing plans 2014.
  • Your have processed ’0′ OCR recognitions. Your pricing plan allows only ’0′ recognotions.
  • Your pricing plan allows only ’0′ barcodes.
  • [Aspose.Pdf for Cloud document API] Create PDF from JPEG, TIFF and SVG does not work with third party storages.

The following issues have been fixed in the Aspose for Cloud UI:

  • Password reset issue.
  • Update payment plans.
Posted in Aspose for Cloud APIs, Aspose.Total Product Family, Muhammad Ijaz | Leave a comment

WordPress Export Posts to PDF using Aspose.Pdf

wordpress logo 20 WordPress Export Posts to PDF using Aspose.PdfWordPress is a free open source blogging tool and a content management system (CMS) based on PHP and MySQL, which runs on a web hosting service. Features include a plugin architecture and a template system. WordPress is used by more than 22.0% of the top 10 million websites as of August 2013. WordPress is the most popular blogging system in use on the Web, at more than 60 million websites. It’s probably the easiest and most powerful blogging and website content management system (or CMS) in existence today.

Aspose PDF Exporter

Cloud PDF Import WordPress Export Posts to PDF using Aspose.Pdf

Aspose PDF Exporter exports posts into a PDF document. Currently this plugin works as a bulk action of posts, pages, or any custom post type. The Aspose PDF Exporter plugin for WordPress allows administrators to export post contents to PDF documents. This module demonstrates Aspose.Pdf for Cloud’s powerful export feature. It adds a simple bulk action in the Aspose Export to PDF list. As soon as the bulk action is called, it exports all posts to a PDF document.

Installing the Aspose PDF Exporter Plugin

You can download the Aspose PDF Exporter Plugin from one of the following locations:

Once downloaded, please follow these steps to install the module to your WordPress website:

  1. Log into your site as either Admin or another Supersuser level account.
  2. Navigate to the Plugin menu and select Add New.
  3. Type Aspose Pdf Exporter in the search box and click Search Plugin button. Or click the Upload menu and choose the ZIP folder you downloaded from the locations above.
  4. Click Install Now.
  5. After installation, click Settings to see the configuration page.

Using Aspose PDF Exporter Plugin

After you have installed the Aspose PDF Exporter plugin it is really simple to start using it on your website. Please follow these simple steps to get started.

  1. Make sure you are logged-in to a WordPress site as Admin level account.
  2. Make sure you have set up Aspose App Key & Id on the plugin configuration page. For further details on how to get app keys, click here .
  3. Navigate to the page or posts which you want to export into PDF.
  4. Select “Posts/Pages” you want to export and then select Aspose Export to PDF from Bulk Actions.
  5. Click Apply.
    All selected posts and pages are exported to a PDF document file and will give you link for downloading the PDF file.

Please check the video below to see it in action.

 

 

 

Posted in Aspose for Cloud APIs, Aspose.Pdf Product Family, Aspose.Total Product Family | 1 Comment

Convert and Manipulate Images in the Cloud with Aspose.Imaging

aspose imaging for cloud 100px Convert and Manipulate Images in the Cloud with Aspose.ImagingFor the past few months, development work has been underway here at Aspose to build a cloud version of the Aspose.Imaging API. Being a true REST API, Aspose.Imaging for Cloud will be virtually platform independent, and therefore can be used with all programming languages that supports REST. Such platforms include but are not limited to .NET, Java, PHP, Ruby, Rails, Python, JavaScript, JQuery, Android, Objective C, Perl, C++, Node.Js and Salesforce.

Aspose.Imaging for Cloud will soon be available for public use, and will allow developers to manipulate and convert images in the cloud without requiring any additional imaging tools. The first version of Aspose.Imaging for Cloud will provide the features listed below:

  • Retrieve image properties based on different image formats.
  • Convert images to supported formats such as BMP, PNG, TIFF, GIF, PNG & JPEG.
  • Convert images to a fax friendly version.
  • Ability to extract frames from TIFF images.
  • Ability to append TIFF frames to another TIFF image.
  • Manipulate image by applying crop, flip, rotate & re-size operations.

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

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

Aspose.Words for Android 1.10 Released

aspose Words for Android e1401783855548 Aspose.Words for Android 1.10 ReleasedWe are pleased to announce a new release of Aspose.Words for Android. Aspose.Words for Android 1.10 sees the codebase better tweaked and the core functionality closer to Aspose.Words for Java, which is the product that Aspose.Words for Android is ported from.

You can download the latest release of Aspose.Words for Android from the following link:

This release includes the following most notable improvements/fixes:

  • Performance improvement.
  • Improved justification around inline paragraph breaks.
  • Hyphenation API updated and extended with a callback mechanism.
  • Improved table row wrapping around floaters in compatibility mode.
  • OOXML (Microsoft Word 2010) text effects rendering implemented.
  • Image export to HTML, MHTML and EPUB improved.
  • The FitText attribute supported for all flow formats.
Posted in Aspose.Words Product Family | Leave a comment

Improved Rendering Support Available in Aspose.Slides for Reporting Services 5.0.0

aspose Slides for SSRS e1377591394145 Improved Rendering Support Available in Aspose.Slides for Reporting Services 5.0.0We like to announce the release of Aspose.Slides for Reporting Services 5.0.0.

This new release has been developed based on Aspose.Slides for .NET 8.4.3 and is a mores table release. We have improved rendering performance as well as report rendering times in this new release. We have also made good progress in the area of charts and table rendering. The improved license management mechanism has also been implemented in this new release.

To see a complete list of fixes and to download Aspose.Slides for Reporting Services 5.0.0, please visit the download page.

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