Convert Text to PDF
Contents
[
Hide
]
Try online. You can check the quality of Aspose.PDF conversion and view the results online at this link products.aspose.app/pdf/conversion/txt-to-pdf
Aspose.PDF for Android via Java provides the capability to convert Text files to PDF format. In this article, we demonstrate how easily and efficiently we can convert a text file to PDF using Aspose.PDF.
When you need to convert a Text file to PDF, initially read the source text file in some reader. We have used StringBuilder to read the Text file contents. Instantiate Document object and add a new page in the Pages collection. Create a new object of TextFragment and pass StringBuilder object to its constructor. Add a new paragraph in Paragraphs collection using TextFragment object and save the resultant PDF file using the Save method of Document class.
Convert plain text file to PDF
public void convertTXTtoPDF_Simple () {
// Initialize document object
File pdfDocumentFileName=new File(fileStorage, "demo_txt.pdf");
File txtDocumentFileName=new File(fileStorage, "Conversion/rfc822.txt");
// Instantiate a Document object by calling its empty constructor
document=new Document();
// Add a new page in Pages collection of Document
Page page=document.getPages().add();
String string;
StringBuilder stringBuilder=new StringBuilder();
InputStream is;
try {
is=new FileInputStream(txtDocumentFileName);
} catch (FileNotFoundException e) {
resultMessage.setText(e.getMessage());
return;
}
BufferedReader reader=new BufferedReader(new InputStreamReader(is));
while (true) {
try {
if ((string=reader.readLine()) == null) break;
} catch (IOException e) {
resultMessage.setText(e.getMessage());
return;
}
stringBuilder.append(string).append("\n");
}
try {
is.close();
} catch (IOException e) {
resultMessage.setText(e.getMessage());
return;
}
// Create an instance of TextFragment and pass the text from reader object to its
// constructor as argument
TextFragment text=new TextFragment(stringBuilder.toString());
// Add a new text paragraph in paragraphs collection and pass the TextFragment
// object
page.getParagraphs().add(text);
// Save resultant PDF file
try {
document.save(pdfDocumentFileName.toString());
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
resultMessage.setText(R.string.success_message);
}
Convert pre-formatted text file to PDF
public void convertPreFormattedTextToPdf () {
File txtDocumentFile=new File(fileStorage, "Conversion/rfc822.txt");
File pdfDocumentFileName=new File(fileStorage, "demo_txt.pdf");
Path txtDocumentFileName=Paths.get(txtDocumentFile.toString());
// Read the text file as array of string
List<String> lines;
try {
lines=Files.readAllLines(txtDocumentFileName, ENCODING);
} catch (IOException e) {
resultMessage.setText(e.getMessage());
return;
}
// Instantiate a Document object by calling its empty constructor
document=new Document();
// Add a new page in Pages collection of Document
Page page=document.getPages().add();
int count=4;
Font font=FontRepository.findFont("Droid Sans Mono");
// Set left and right margins for better presentation
page.getPageInfo().getMargin().setLeft(20);
page.getPageInfo().getMargin().setRight(10);
page.getPageInfo().getDefaultTextState().setFont(font);
page.getPageInfo().getDefaultTextState().setFontSize(12);
for (String line : lines) {
// check if line contains "form feed" character
// see https://en.wikipedia.org/wiki/Page_break
if (line.startsWith("\f")) {
page=document.getPages().add();
page.getPageInfo().getMargin().setLeft(20);
page.getPageInfo().getMargin().setRight(10);
page.getPageInfo().getDefaultTextState().setFont(font);
page.getPageInfo().getDefaultTextState().setFontSize(12);
} else {
// Create an instance of TextFragment and
// pass the line to its
// constructor as argument
TextFragment text=new TextFragment(line);
// Add a new text paragraph in paragraphs collection and pass the TextFragment
// object
page.getParagraphs().add(text);
}
}
// Save resultant PDF file
try {
document.save(pdfDocumentFileName.toString());
} catch (Exception e) {
resultMessage.setText(e.getMessage());
return;
}
resultMessage.setText(R.string.success_message);
}