Create Outlook Emails (MSG, EML, EMLX) using C++

Create Outlook Emails in C++

Email Automation is quite popular these days for generating and sending emails automatically from within the web or desktop applications. It is being used for sending important notifications, documents, newsletters, and various kinds of other messages. In order to develop an automated email system, Aspose facilitates the developers with its email API – Aspose.Email. Today, I’m going to pick up the C++ variant of Aspose.Email and show you how to create Outlook emails using C++.

C++ Email Library to Create Outlook Emails

Aspose.Email for C++ is a native C++ library that lets you create and send emails of MS Outlook and other popular email formats. It also allows you to manipulate Outlook objects such as calendars, tasks, contacts, etc. and convert the existing email files to other formats. You can download the complete library package from here or install it within your C++ application using NuGet.

Create an Outlook Email using C++

First of all, let’s check out how to create a simple email message and save it in an email format such as MSG, EML, and EMLX. The following are the steps to create an email message using Aspose.Email for C++.

  • Create an instance of MailMessage class.
  • Set the message’s properties such as To, From, and Body.
  • Save the email message using MailMessage->Save() method.

The following code sample shows how to create an Outlook message in a particular email format using C++.

Create an Outlook Email with HTML Body using C++

In the previous example, we have created an email with plain text. However, most of the emails these days contain an HTML body for a fine presentation of the email’s content. In such a case, you can configure Aspose.Email and set the HTML-based body of the email. For this, just use MailMessage->set_HtmlBody(System::String) and pass to it the HTML content. The following code sample shows how to create an email with an HTML body using C++.

Set Encoding for Outlook Email using C++

Aspose.Email for C++ also lets you define the encoding standard to guide the browser about how to deal with characters in the email. For setting the particular encoding standard, you can use MailMessage->set_BodyEncoding(System::Text::Encoding) method. The following code sample shows how to create an email with particular encoding using C++.

Save Outlook Message as Draft using C++

You can also save the newly created Outlook email message as a draft. The following are the steps to perform this operation:

The following code sample shows how to create an email as a draft using C++.

Conclusion

In this article, I have shown you how to create Outlook emails within C++ applications. The C++ code samples demonstrated how to create MSG, EML or EMLX emails with text/HTML body or a particular encoding. You can explore more about how to deal with Outlook emails and other items using Aspose.Email for C++.

See Also

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

Create Excel Files in Node.js Applications – A Complete Guide

In this article, I’ll show you how to implement Excel automation and create Excel files in Node.js applications programmatically.

create excel file in nodejs - logo

Spreadsheets have made it possible to store a huge amount of data in the form of rows, columns, and sheets. In addition, you can perform a variety of operations on the data such as sorting, applying mathematical formulas, generating charts and graphs, and much more. In the current era of the digital world, automation has taken the place of manual work. As a result, Excel automation has also emerged as a tool to generate spreadsheet documents without any third-party software. Keeping that in mind, I’ll let you know how to create Excel files and insert various objects in worksheets in Node.js.

Create Excel Files with Excel API for Node.js

Aspose.Cells for Node.js via Java is a powerful spreadsheet manipulation API that lets you create, edit, or convert Excel files within Node.js applications. The API’s easy to use methods enable you to perform Excel automation features seamlessly in a few lines of code. You can download the API’s package and integrate it into your Node.js application. For more details, you can visit the Installation and Usage guide.

Create Excel Files in Node.js

The following are steps to create a simple Excel file using Aspose.Cells for Node.js via Java:

  • Create an instance of Workbook class.
  • Access the desired worksheet from the workbook using Workbook.getWorksheets.get() method.
  • Put the value in the desired cell in the worksheet using the cell’s identifier, such as A1, B3, etc.
  • Save the workbook as an Excel file using Workbook.save() method.

The following code sample shows how to create an Excel file in Node.js.

create excel file in node.js

Insert Data into an Excel File in Node.js

You can also load an existing Excel file to update its content. The only thing you’ll have to do is provide the Excel file’s path in the Workbook constructor. The following code sample shows how to update the content of an existing Excel file in Node.js.

Create an Excel File having Image in Node.js

The following are the steps to insert an image in an Excel worksheet in Node.js.

The following code sample shows how to insert an image in the Excel worksheet in Node.js.

Insert image in Excel in node.js

Insert Charts or Graphs in Excel in Node.js

Chart and graphs are important components of Excel files that are used to visually represent the data. Aspose.Cells for Node.js via Java lets you draw and manipulate a variety of charts including sunburst, treemap, histogram, pyramid, and etc. The following are the simple steps to draw a chart in the Excel worksheet.

  • Create a new Excel file or load an existing one using Workbook class.
  • Add data to the worksheet as a data source for charts.
  • Access the chart collection of the worksheet using Worksheet.getCharts() method.
  • Add a new chart using Worksheet.getCharts().add() method.
  • Access the newly created chart from the collection in a new variable.
  • Specify the cells’ range to set NSeries for the chart.
  • Save the workbook as an Excel .xlsx file.

The following code sample shows how to draw charts in Excel in Node.js.

insert chart in excel in node.js

Create a Pivot Table in Excel in Node.js

Excel files also allow you to create pivot tables based on a range of cells to summarize a large amount of data. The following are the steps to create a pivot table within an Excel worksheet.

  • Create a new Workbook or load an existing excel file.
  • Insert data into the worksheet (optional).
  • Access the pivot table collection using Worksheet.getPivotTables() method.
  • Add a new pivot table in the worksheet using Worksheet.getPivotTables().add() method.
  • Provide data to the pivot table.
  • Save the workbook as Excel file.

The following code sample shows how to create a pivot table in Excel in Node.js.

create pivot table in excel in node.js

Conclusion

In this article, you have learned how to create Excel files from scratch in Node.js applications. We have also seen how to insert data, images, charts, and pivot tables in Excel worksheets. You can learn more about the advanced features of Aspose.Cells for Node.js via Java using the documentation.

See Also

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

Make Fillable Form in Word | Insert, Delete Check Boxes & Fields in C#

Fillable Forms are frequently used in Microsoft Word Documents like DOC, DOCX, and other file formats. In this article, we will create a fillable form in Word document programmatically using C# with Aspose.Words for .NET API. Moreover, we will also cover removing or deleting fillable form fields.

Installation

You can configure Aspose.Words for .NET API in your .NET application and subsequently use it with C# or VB.NET. You can either download the DLL from the New Releases section or configure it using following NuGet command.

PM> Install-Package Aspose.Words -Version 20.8.0

Moreover, you can also install the API using NuGet Manager for Solution tool in Visual Studio, as shown in the screenshot below:

Make fillable form in word

So the API has been configured at this step. Let us proceed to learn the following use cases:

Create Fillable Form Fields with Check box, Text box in Word using C#

You can create or insert check boxes in word document easily with few basic steps. In addition to the check box, we will also explore how to add text box and combo box. Following are the steps for inserting or adding check box, text box, and combo box in a DOCX file.

  1. Initialize a new Word document
  2. Insert Text form field with InsertTextInput method
  3. Insert check box field using InsertCheckBox method
  4. Insert combo box field with InsertComboBox method
  5. Save output word file

The code snippet below shows how to insert fillable field like check box, text box, and combo box in Word files (DOC/DOCX) in C#:

Furthermore, Aspose.Words for .NET API is a feature-rich API that lets you set many properties of the form fields. For example, FormField class can be used to set size, default value, entry and exit macros, etc.

Delete a Fillable Form Field in a Word Document using C#

Adding a fillable form field and deleting a fillable form field are the most important and frequently used features with reference to forms in word files. Now, let us take a look at how a fillable form field can be deleted using C# in your .NET applications. You can follow the following steps to delete a field:

  1. Load input word file using Document class
  2. Get specific fillable form field by its name
  3. Call Remove method
  4. Save output word file

The following code snippet is based on these steps which shows how to delete a fillable form field from word document with C#:

Conclusion

Concludingly, we have learned how to make or create fillable form fields in DOCX, or ord files. Moreover, we have also checked out how to delete or remove a form field from a word document. In case of any confusion, doubt, or query, you please write to us at Free Support Forum. We would love to assist you!

See Also

Word Document (DOC/DOCX) to HTML Conversion

Posted in Aspose.Words Product Family | Leave a comment

Convert Word Documents to PDF in Android Apps

Word to PDF Converter in Android

The Word to PDF is one of the widely practiced document conversions and this is the reason MS Word provides a built-in feature to save Word documents as PDF. Since PDF is a preferred format for sharing the documents or keeping them online, the need for Word to PDF conversion occurs in various scenarios. On the other hand, Android-powered smartphones have made humans’ life easier by putting a multitude of functionality within the phones via apps. Keeping an eye on these trends, in this article, I’ll show you how to convert Word documents to PDF within an Android app. For demonstration, we’ll build a simple Word to PDF Converter app for Android within a few steps having the following features.

  • Convert a Word document to PDF
  • Save PDF in phone’s storage
  • View PDF within the app

Word to PDF Converter API for Android

For converting MS Word documents into PDF format, we’ll use Aspose.Words for Android via Java that lets you convert DOC/DOCX documents to PDF files seamlessly using a couple of lines of code. You can either download the API or install it using the Maven configuration.

Steps to Convert Word to PDF in Android

The following are the steps to create a simple Word to PDF Converter app in Android using Aspose.Words for Android via Java:

  • Create a new project in Android Studio (or Eclipse) and select the “Empty Activity” template.
create new project in android studio
  • Configure your project.
Configure Android Project
  • Open the build.gradle file.
update build.gradle in android studio
  • Add the following repositories section in build.gradle.
repositories {
    mavenCentral()
    maven { url "https://repository.aspose.com/repo/" }
}
  • Add the following entries in the dependencies section of build.gradle.
implementation 'com.google.android.material:material:1.1.0'
implementation 'com.android.support:multidex:2.0.0'
implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
compile (group: 'com.aspose', name: 'aspose-words', version: '20.6', classifier: 'android.via.java')
  • Enable multidex by adding the following entry under the defaultConfig section in build.gradle.
// enable multiDex
multiDexEnabled true
  • The complete build.gradle file will look like the following:
  • Open activity_main.xml file.
update layout xml
  • Paste the following script for the layout of the main activity.
  • Open MainActivity.java file.
add word to pdf converter code
  • Paste the following Java code in MainActivity.java.
  • Build the app and run it within your Android smartphone or a virtual device.
  • Allow this app to access the storage by going to Settings->Apps->Permissions->Permission manager->Storage.
Android Word to PDF Converter

Word to PDF Converter Android App – Demo

The following is the demonstration of how to convert a Word DOCX document to PDF using Word to PDF Converter app we have just created.

Download

Download the complete source code of Word to PDF Converter app from GitHub.

Conclusion

In this article, you have learned how to convert Word to PDF within Android apps. You can integrate the similar functionality within your own app or enhance this converter up to your desired level. You may learn more about Aspose.Words for Android via Java from the documentation.

See Also

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

Convert Base64 String to PDF or JPG/PNG Image with Java

Base64 string shows data in ASCII format. It is popular for embedding inline images and other information in HTML webpages or style sheets. In this article, we will be learning to convert the Base64 string to PDF or images like JPG and PNG using Java.

Base64 to PDF Converter API – Installation

You can download the JAR files of Aspose.PDF for Java API from Releases section, or using following Maven configurations:

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

Dependency

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

So Aspose.PDF for Java API has been configured. Before proceeding for the conversion of a Base64 string, let us take a look at sample data:

Base64 Example String

Following is an example of Base64 string:

data:image/png;base64,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

Preview of the Base64 Example String

Base64 to PNG JPG

Now, let us proceed to the following Base64 string conversion scenarios:

Convert Base64 String to JPG or PNG Image using Java

JPG, PNG, and other kinds of images are sometimes encoded to Base64 string for safe and reliable communication and transfer of data. Moreover, before we explore PDF conversion, we need to learn about the conversion of a Base64 string to JPG or PNG images using Java. Therefore, you need to follow these steps for the conversion:

  1. Save the data in a TXT file because of a long string
  2. Read the string value
  3. Replace the prefixes
  4. Save Base64 string to JPG or PNG Image

The following code snippet shows how to convert Base64 string to a JPG or PNG image using Java:

Convert Base64 to PDF using Java

We have learned about converting the Base64 to PNG or JPG images. This is actually an intermediate step of converting Base64 to PDF file. Let us move another step further. Once the string is saved as a raster image, you can easily convert it to PDF. You can follow below steps for converting Base64 string to PDF:

  1. Remove prefixes of Base64 String
  2. Convert Base64 string to PNG or JPG image
  3. Then convert output image to PDF

So the code snippet below shows how to convert Base64 String to PDF using Java language:

Conclusion

To sum up, we have explored how to convert the Base64 string to PDF, PNG, and JPG images. Moreover, generating a PDF file will open up a lot more options for further conversion. Like a PDF file can be converted to SVG, XPS, DOCX, and many other formats. Interested to explore other possibilities? Do not hesitate to discuss this with us via Free Support Forums.

See Also

Convert JPG, PNG, TIFF, EMF, or BMP Images to PDF using C#

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

Convert Image to Text using Java OCR API

Perform OCR using Java

The Optical Character Recognition (OCR) technology has made it possible to recognize and read the text within the scanned documents and images. OCR lets you convert the read-only text into an editable form. The converted text can further be processed for operations such as text analysis. In this article, I’ll show you how to perform OCR on images (PNG, JPG, BMP, and GIF) and convert image to text using Java OCR API – Aspose.OCR for Java.

Java OCR API – Installation

Aspose.OCR for Java can be downloaded as a JAR or installed within a Maven-based application using the following configurations.

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Dependency

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>20.5</version>
</dependency>

Convert Image to Text using Java

Most often, the images for OCR are the pages of scanned documents, invoices, receipts, bills and etc. where the text is composed of multiple lines. In such scenarios, you need to retrieve the whole text from the image. The following are the steps to perform OCR on the image having multiple lines of text using Aspose.OCR for Java.

The following code sample shows how to perform OCR on image and convert image to text using Java.

Convert Images having Single Line of Text

In the previous example, we have performed OCR on an image having multiple lines of text. However, there could be a case when the image contains a single line of text. For such a case, you can configure the API accordingly. The following are the steps to convert an image having a single line of text.

The following code sample shows how to perform OCR on an image having a single line of text using Java.

Conclusion

In this article, you have seen how to convert PNG, JPG, BMP, and GIF images to text using Java OCR API. The code samples show how to perform OCR on images having single or multiple lines of text within Java applications. You can learn more about Aspose’s Java OCR API using documentation.

See Also

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

Convert JPG, PNG, TIFF, EMF, or BMP Images to PDF using C#

Images to PDF conversion is an important and useful scenario for file processing applications. In this article, we will be learning to convert JPG, PNG, TIFF, EMF, WMF, and BMP image to PDF conversion using C# or VB.NET. Following are a few of the possible use cases for converting images:

Convert JPG to PDF with C#

You can easily convert a JPG image to PDF by following steps:

  1. Initialize object of Document class
  2. Add a new Page to PDF document
  3. Load JPG image and add to paragraph
  4. Save output PDF

The code snippet below shows how to convert JPG Image to PDF using C#:

Below is the screenshot of JPG conversion to PDF:

Image to PDF

However, in this screenshot, you can notice that the image is converted to a PDF page, but, default page dimensions and margins are applied in the output PDF document. Aspose.PDF for .NET API allows you to control page dimensions and margin that help you create exactly the same size PDF as of the image dimensions. Let us proceed to explore this feature:

Convert Image to PDF with Same Page Height and Width

Continuing this example from the above use case, as you can notice bigger page size in the above screenshot. Let us learn how to convert an image to PDF with the same height and width of the page. We will be getting the image dimensions and accordingly set the page dimensions of PDF document with the below steps:

  1. Load input image file
  2. Get the height and width of the image
  3. Set height, width, and margins of a page
  4. Save the output PDF file

Following code snippet shows how to convert an Image to PDF with same page height and width using C#:

So you can notice the difference of page dimensions that have been created with updated code snippet:

Finally, you can notice the page size is exactly similar in accordance with input image dimensions, and there are no more default page margins being set now.

Convert PNG to PDF using C#

PNG image format is popular because of its features as compared to JPG images. For example, PNG images support transparency. Firstly, let us convert PNG to PDF with below steps:

  1. Load input PNG image
  2. Read height and width values
  3. Create new document and add Page
  4. Set page dimensions
  5. Save output file

Moreover, the code snippet below shows how to convert PNG to PDF with C# in your .NET applications:

Convert TIFF to PDF using C#

A TIFF image is different from conventional JPEG, PNG, or other formats in a way that a TIFF image can contain several frames with different images. Aspose.PDF file format is also supported, be it a single frame or multi-frame TIFF image. So you can convert the TIFF image to PDF in your .NET applications. Therefore, we will consider an example of converting multi-page TIFF image to multi-page PDF document with below steps:

  1. Instantiate an instance of Document class
  2. Load input TIFF image
  3. Get FrameDimension of the frames
  4. Add new page for each frame
  5. Finally, save images to PDF pages

Moreover, the following code snippet shows how to convert multi-page or multi-frame TIFF image to PDF with C#:

Convert EMF Image to PDF using C#

EMF images, also known as Enhanced Metafile Format, are actually device-independent images. Furthermore, you can convert EMF to PDF image using the below steps:

  1. Firstly, initialize Document class object
  2. Load EMF image file
  3. Add the loaded EMF image to a Page
  4. Save PDF document

Moreover, the following code snippet shows how to convert an EMF to PDF with C# in your .NET code snippet:

Convert BMP to PDF with C#

BMP images are Bitmap images that you can convert to PDF with Aspose.PDF for .NET API. Therefore, you can follow the following steps to convert BMP images:

  1. Initialize a new Document
  2. Load input BMP image
  3. Finally, save the output PDF file

So the following code snippet follows these steps and shows how to convert BMP to PDF using C#:

Conclusion

After all, we have explored images to PDF conversion from different aspects. Different conversions including JPG, PNG, TIFF, EMF, and BMP to PDF conversion has been discussed in detail. Moreover, we have learned how to improve the image to PDF rendering while setting page size and margins. Furthermore, if you still have any inquiries or questions then please reach out to us at Free Support Forum.

See Also

Convert AI to PNG, JPG, PSD and PDF file with C# .NET

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

Convert PDF to PowerPoint PPT/PPTX using Java

In this article, I’ll show you how to convert PDF to PowerPoint PPT/PPTX programmatically using Java.

Convert PDF to PPT PPTX in Java

The PDF has become one of the most widely used document formats because of its supported features as well as stability and consistency across all the platforms. In various scenarios, you opt to save or share a document in the PDF format. However, in some cases, you may need to export the content of a PDF to a PowerPoint (PPT/PPTX) presentation. In such a situation, you can avoid manual copy/paste by automating PDF to PowerPoint conversion. In order to deal with such a case, we’ll learn how to:

Java PDF to PPT/PPTX Converter API

Aspose.PDF for Java is a well-known PDF API with an amazing set of PDF manipulation features. Along with PDF manipulation, the API also provides a powerful PDF to PowerPoint converter that lets you convert each page in the PDF document to a slide in the PPT/PPTX presentation. You can download the API’s JAR or install it within your Maven-based application using the following configurations.

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependency

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
    <classifier>jdk17</classifier>
</dependency>

Convert PDF to PowerPoint PPT/PPTX using Java

The following are the steps as well as API references to convert a PDF document to PPTX presentation using Aspose.PDF for Java.

The following code sample shows how to convert a PDF to PPTX using Java.

PDF Document

PDF to PPTX using Java

PPTX Presentation

PDF to PPT using Java

Convert PDF to PPTX with Slides as Images using Java

You can also convert each page of the PDF to an image within the presentation’s slides. This feature is useful when you want to avoid having the selectable text in the presentation. The following are the steps to convert a PDF to PPTX having images in the slides.

The following code sample shows how to convert PDF to PPTX having slides as images.

Track PDF to PowerPoint PPTX Conversion Progress

You can also track the PDF to PPTX conversion progress by defining a custom progress handler using PptxSaveOptions.setCustomProgressHandler() method. This feature can be used to show the progress bar or details about how many pages are processed. The following code sample shows how to implement the feature of tracking conversion progress.

Output

SourcePageAnalysed	1 from: 	10
TotalProgress	2 from: 	100
SourcePageAnalysed	2 from: 	10
TotalProgress	5 from: 	100
SourcePageAnalysed	3 from: 	10
TotalProgress	7 from: 	100
SourcePageAnalysed	4 from: 	10
TotalProgress	9 from: 	100
SourcePageAnalysed	5 from: 	10
TotalProgress	12 from: 	100
SourcePageAnalysed	6 from: 	10
TotalProgress	14 from: 	100
SourcePageAnalysed	7 from: 	10
TotalProgress	16 from: 	100
SourcePageAnalysed	8 from: 	10
TotalProgress	18 from: 	100
SourcePageAnalysed	9 from: 	10
TotalProgress	21 from: 	100
SourcePageAnalysed	10 from: 	10
TotalProgress	23 from: 	100
ResultPageCreated	1 from: 	10
TotalProgress	28 from: 	100
ResultPageCreated	2 from: 	10
TotalProgress	32 from: 	100
ResultPageCreated	3 from: 	10
TotalProgress	37 from: 	100
ResultPageCreated	4 from: 	10
TotalProgress	42 from: 	100
ResultPageCreated	5 from: 	10
TotalProgress	46 from: 	100
ResultPageCreated	6 from: 	10
TotalProgress	51 from: 	100
ResultPageCreated	7 from: 	10
TotalProgress	56 from: 	100
ResultPageCreated	8 from: 	10
TotalProgress	61 from: 	100
ResultPageCreated	9 from: 	10
TotalProgress	65 from: 	100
ResultPageCreated	10 from: 	10
TotalProgress	70 from: 	100
ResultPageSaved	1 from: 	10
TotalProgress	73 from: 	100
ResultPageSaved	2 from: 	10
TotalProgress	76 from: 	100
ResultPageSaved	3 from: 	10
TotalProgress	79 from: 	100
ResultPageSaved	4 from: 	10
TotalProgress	82 from: 	100
ResultPageSaved	5 from: 	10
TotalProgress	85 from: 	100
ResultPageSaved	6 from: 	10
TotalProgress	88 from: 	100
ResultPageSaved	7 from: 	10
TotalProgress	91 from: 	100
ResultPageSaved	8 from: 	10
TotalProgress	94 from: 	100
ResultPageSaved	9 from: 	10
TotalProgress	97 from: 	100
ResultPageSaved	10 from: 	10
TotalProgress	100 from: 	100

Conclusion

In this article, you have learned how to programmatically convert PDF to PowerPoint PPT/PPTX using Java. You can implement this feature in Java Swing or any other Java-based applications. In case you may want to learn more about our Java PDF API, consult the documentation.

See Also

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

Create 3D PDF Converter Programmatically using C#

3D PDF Converter C#

PDF files are commonly and frequently used because of the strengths and features supported by this format. An important feature, under the context of designing, is the support for 3D objects. You can include high-quality 3D content in PDF files.

Moreover, 3D objects in a PDF document initially appear as a two-dimensional image of the object. When you open such a PDF file, 3D content is disabled by default. You can enable the feature if the source of the document is trustworthy. Furthermore, you can simply click on the 3D content to activate it, and then you can play different animations. 3D PDF files are helpful where you need to share visual details. For example, a product catalog, or a design review, etc. With Aspose APIs, you can easily convert and render such PDF files. Aspose.PDF for .NET API enables you to create a 3D PDF Converter application using C# or VB.NET.

C# 3D PDF Converter API

Aspose.PDF for .NET API supports creating and manipulating PDF files. We have supported the conversion and rendering of 3D PDF documents because of repeated feature requests. You can efficiently convert 3D PDF files to Images or HTML files. Conversion to HTML format can help you create 3D PDF Converter application while the rendering to images can help you create 3D PDF Viewer application. Let us explore the following use cases:

Create 3D PDF Converter using C#

Here we will be considering 3D PDF Conversion uses cases. First of all, we will be converting the 3D PDF document to HTML file format. You can follow the steps below for the conversion:

  1. Load input 3D PDF file
  2. Set different options for saving HTML file
  3. Save the output HTML file

The following code snippet shows how to convert 3D PDF to HTML using C#:

After converting 3D PDF to HTML, let us proceed to explore 3D PDF to Image conversion. Here we will convert it to a PNG image.

You can render a 3D PDF file to an image. This conversion is helpful in scenarios when you need to preview the file for approving a quotation of a product, some design change notification, and many other scenarios. So you can follow the below steps for converting 3D PDF to a PNG image in your 3D PDF Converter applications:

  1. Load Input 3D PDF File
  2. Set Image Resolution
  3. Create PNG Image as Output

The following code snippet is based on these steps which can create images of 3D PDF file using C#:

Conclusion

Concludingly, we have explored different supported features for 3D PDF files in Aspose.PDF for .NET API. We have learned how to create 3D PDF Converter application using C#. However, if you are interested in exploring more about supported file formats then please reach out to us at Free Support Forum.

See Also

Print PDF Documents using C#

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

Fill, Create, or Edit Fillable PDF Forms Programmatically using Java

Fill PDF Form Java

In these modern times, a lot of data is collected using forms and fillable PDF forms are worth mentioning in this context. They are an efficient way of collecting and arranging information. Moreover, fillable PDF forms are now being used as a standard by different institutions. For instance, some court of law, or a procurement firm can efficiently use fillable PDF forms to standardize their procedures. For creating such applications, Aspose.PDF for Java API is the most suitable API. Curious to know why? Let us explore the following use cases where we will be working with PDF forms programmatically.

Installation

You can head to New Releases section where you can configure the API to enrich your Java applications and enabling them to process PDF documents, or you can define the dependency in your Maven application as under:

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

Dependency

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

After successfully configuring the API, let us move on to following uses cases:

Create Fillable PDF Forms using Java

You can create fillable PDF form in Java applications by following the steps below:

  1. Create a PDF file with a blank page
  2. Add TextBox field and RadioButton field on the page
  3. Save the output PDF file

The code snippet below shows how to create a fillable PDF form from scratch using Java:

Fill, Modify, or Delete Form Fields in Existing PDF using Java

We have learned to create a new fillable PDF file from scratch. Let us proceed to scenarios where existing PDF documents are processed:

i) Fill a Form Field in Existing PDF file using Java

Like we have created the PDF form in the above example, let us proceed with the same document and fill the form fields programmatically using Java. You can fill the created form with below steps:

  1. Load input file
  2. Fill values in the TextBox field
  3. Fill RadioButton fields by selecting an option
  4. Save out PDF form

The code snippet below shows how to fill fillable forms using Java:

ii) Modify a Form Field in PDF Document using Java

Sometimes we need to edit or update field values in a PDF form. You can easily edit a fillable PDF form with below steps:

  1. Initialize input PDF
  2. Get a reference to the form field by its name
  3. Edit the PDF form
  4. Save edited PDF form

The code snippet below shows how to update or edit a fillable PDF file using Java:

iii) Delete a Form Field in Existing PDF File using Java

You can remove or delete a form field easily in your Java applications. You can follow the steps below:

  1. Initialize a PDF form
  2. Delete the form field using its name
  3. Save updated PDF form

Below code snippet shows how to delete a form field from PDF form using Java:

Preserve Extended Rights of PDF Forms using Java

You may notice that some PDF forms have extended rights. They are used to avoid modifications in original content and only filling of forms is allowed. Extended rights of PDF files can be affected when

You fill such a form and save it in different locations of the disk. Therefore, we need to save such files incrementally with below steps:

  1. Initialize PDF form
  2. Fill in the fields
  3. Save the filled PDF document

The code snippet below shows how to preserve extended rights while filling PDF form, using Java:

Use JavaScript in PDF Form using Java

You can fill the fillable PDF form fields using Javascript with Aspose.PDF for Java. You should follow the following steps :

  1. Load PDF document
  2. Add a field on specific page location
  3. Set JavaScript and open action for the document Save PDF file

Following code snippet shows how to use JavaScript in fillable PDF forms:

Conclusion

We have learned how to create fillable PDF forms, as well as filling or editing the form fields using the Java environment. Moreover, we have also explored preserving the extended rights in PDF documents in addition to using JavaScript on a PDF document action. In case of any concerns or issues, please feel free to contact us at Free Support Forum.

See Also

Create, Fill, or Edit Fillable PDF Forms Programmatically with C#

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