تحويل النص إلى PDF
Contents
[
Hide
]
جرّب عبر الإنترنت. يمكنك التحقق من جودة تحويل Aspose.PDF وعرض النتائج عبر الإنترنت عبر هذا الرابط products.aspose.app/pdf/conversion/txt-to-pdf
Aspose.PDF for Android via Java يوفر القدرة على تحويل ملفات النص إلى صيغة PDF. في هذا المقال، نوضح كيف يمكننا بسهولة وكفاءة تحويل ملف نصي إلى PDF باستخدام Aspose.PDF.
عندما تحتاج إلى تحويل ملف نصي إلى PDF، ابدأ بقراءة ملف النص المصدر باستخدام أي قارئ. لقد استخدمنا StringBuilder لقراءة محتويات ملف النص. أنشئ كائن Document وأضف صفحة جديدة إلى مجموعة Pages. أنشئ كائنًا جديدًا من TextFragment ومرّر كائن StringBuilder إلى مُنشئه. أضف فقرة جديدة إلى مجموعة Paragraphs باستخدام كائن TextFragment واحفظ ملف PDF الناتج باستخدام طريقة Save في فئة Document.
تحويل ملف نص عادي إلى 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);
}
تحويل ملف نصي مُنسق مسبقًا إلى 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);
}