Build Word to PDF Converter App for Android

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 integrate Word to PDF conversion feature 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 Create Word to PDF Converter 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 create a simple Word to PDF Converter App for Android. You can integrate the similar functionality within your own Android app or enhance this converter app 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

How to Buy Aspose License? A Step by Step Guide

Aspose is a leading vendor that provides a complete and feature-rich collection of file format APIs for .NET, Java, C++, Android, and other popular platforms. Aspose APIs have gained the trust of more than 75% of Fortune 100 companies. This makes Aspose a priority option when you need to deal with popular file formats of MS Word, MS Excel, MS PowerPoint, MS Outlook emails and archives, MS Visio, MS Project, MS OneNote, and PDF documents. After you have evaluated and selected an Aspose API as well as the appropriate license type, you will definitely proceed to purchase the license. In order to make the things easier for you, I’ll provide a step by step guide on how to buy an Aspose license.

Steps to Buy an Aspose License

Before you start the purchase process, you need to login (or signup) with your valid credentials. Once done, go to the Buy Now page and proceed with the following steps:

Step 1

Purchase Aspose License
  • (Optional) Enter the Quote ID in case you already have one and click Go to Order Review button.
  • (Optional) Enter the Coupon Code in case of special offers or promotions.
  • Click the Next button in the bottom right corner.

Step 2

Place order for Aspose API
  • Select the desired Aspose API, platform, and the license type from the respective dropdowns.
  • Enter the number of licenses you need to buy (default value is 1).
  • Enter the number of subscription years (default value is 1).
  • Once done, click Add to Cart button and then press the Next button.

Step 3

Select support type
  • On step 3, select the type of support you want to have from Developer Support and Business Support options and press Add to Quote button.

Step 4

  • Press the Next button in step 4 after order optimization.

Step 5

Place online order
  • On step 5, you can Create a Quote, Get a Temporary License, or Request a Discount for the selected API. In other case, just press the Next button.

Step 6

Accept Aspose agreement
  • On step 6, accept the agreements and press Next button.

Step 7

Add billing information
  • Enter your billing information and press the Next button.

Step 8

Buy Aspose License
  • Add the payment details on step 8 and you are done with the purchase process.

Purchase Policies and FAQs

The Purchase Policies and FAQs section provides you with information about the policies, licensing, subscription, upgrade as well as answers to various purchase-related questions. It also helps you in selecting the appropriate license type correctly.

Get Free Support

In case you would find something confusing or difficult while purchasing the license, you can post that to our Free Support forum where our dedicated support team will entertain you.

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

Add and Verify Digital Signatures in PDF Documents using Java

Digital Signature in PDF lets you secure the document before it is shared with the stakeholders. Forging in the content of a digitally signed PDF document can easily be detected and verified. In order to digitally sign the PDF documents programmatically, I’ll show you how to add and verify digital signatures in PDF using Java. We’ll cover the following scenarios related to digital signatures in PDFs.

Java Library to Digitally Sign PDF

For adding and verifying digital signatures in PDF, we’ll be using Aspose.PDF for Java. Along with other PDF manipulation features, Aspose.PDF for Java lets you add and verify digital signatures in PDFs seamlessly. You can download the JAR of the API or get it installed in your Maven-based application.

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.6</version>
</dependency>

Add Digital Signature to a PDF using Java

The following are the steps to add a digital signature to a PDF document using Aspose.PDF for Java.

  • Create an instance of the Document class and initialize it with the PDF document’s path.
  • Initialize the PdfFileSignature class and pass to it the Document object.
  • Create an instance of PKCS7 class and initialize it with a certificate’s path and the password.
  • Initialize DocMDPSignature class for the MDP signature type.
  • Define a Rectangle to place the signature on the document’s page.
  • Digitally sign PDF document using PdfFileSignature.Certify() method.
  • Save the signed PDF using PdfFileSignature.Save() method.

The following code sample shows how to digitally sign a PDF using Java.

Digitally Sign PDF with a Timestamp Server using Java

Aspose.PDF for Java also lets you add digital signatures to PDF with the TimeStamp server. The TimestampSettings class is used for this purpose. The following code sample shows how to add digital signature to a PDF with a TimeStamp server using Java.

Verify Digital Signature in a PDF using Java

When you receive a digitally signed PDF, you can verify its signature quite easily. The following are the steps to verify a digitally signed PDF.

The following code sample shows how to verify a digitally signed PDF document using Java.

Conclusion

In this article, you have learned how to add digital signature to a PDF using Java. In addition, we have seen how to verify a digitally signed PDF file within a few steps. You can learn more about Java PDF API using the documentation as well as the source code samples hosted on GitHub.

See Also

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

Word Document (DOC/DOCX) to HTML Conversion using Java

Microsoft Word file formats DOC/DOCX are famous because the word processor supports a variety of features to organize and explain information. Likewise, HTML file format is helpful to show information in web applications. In this article, we will be learning Word files (DOC/DOCX) to HTML conversion using Java. Following are some of the use cases that we will be exploring here:

Java DOCX to HTML Converter – Installation

First things first, you can easily configure Aspose.Words for Java API in your applications. You can download the JAR file from new Releases section where all APIs are updated almost every month. Moreover, all of the Java APIs, offered by Aspose, are hosted over the Maven repository. Likewise, Aspose.Words for Java dependency can be defined in your Maven project with the following configurations:

Repository

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

Dependency

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.6</version>
        <classifier>jdk17</classifier>
    </dependency>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-words</artifactId>
        <version>20.6</version>
        <classifier>javadoc</classifier>
    </dependency>
</dependencies>

Now we are all set for DOCX to HTML conversion in a Java application.

Convert Word (DOC/DOCX) to HTML using Java

You can convert Word to HTML by following the steps below:

  1. Load source Word file with DOC or DOCX extension
  2. Save the file as output HTML

The code sample below shows how to convert DOCX to HTML using Java:

Input DOCX file Preview

Word to HTML in Java

Output HTML file Preview

DOCX to HTML in Java

So you can notice the high fidelity of document rendering with these screenshots. The API is capable of converting text, images, tables, and much more.

Convert DOCX to HTML5 using Java

HTML5 is the latest version of HTML. We have noted repeated requests for supporting HTML5 in Aspose.Words API. Therefore, DOCX to HTML conversion is supported and you can convert files by following steps:

  1. Firstly, load input DOCX file
  2. Set HtmlSaveOptions while setting SaveFormat
  3. Set enumeration value of HtmlVersion.HTML_5
  4. Save output file

The code snippet below shows how to convert DOCX to HTML5 in Java:

Convert Password-Protected Word file to HTML using Java

DOC or DOCX files are sometimes password protected or encrypted using a password. You can also convert such files to HTML. However, you will need the password while loading the word file. You can follow the steps below for DOCX to HTML conversion:

  1. Firstly, initialize an object of LoadOptions class
  2. Set the password
  3. Load the encrypted DOCX file
  4. Convert DOCX to HTML

Likewise, the following code sample shows how to convert password protected DOCX file to HTML using Java:

Convert Word to MHTML using Java

MHTML files are single files that contain embedded contents and media. You can convert word files (DOC/DOCX) to MHTML with following steps:

  1. Load input DOCX file
  2. Save output MHTML file using SaveFormat.MHTML

The code snippet below is based on this steps. Therefore, it shows how to convert DOCX to MHML with Java:

Conclusion

Concludingly, we have learned conversion of word documents without needing Microsoft Word. For example, DOCX to HTML, MHTML, or HTML5 as per your requirements. Likewise, we have observed with screenshots that the conversion is performed with high fidelity and compatibility between the file formats. So you can try the API in your own Java environment. However, if you face any problem while setting up or testing the API then you can get in touch with us via Free Support Forums!

See Also

Mail Merge in Word Documents

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