يمكنك تحويل XPS إلى PCL باستخدام خطوتين بسيطتين. تحتاج أولاً إلى تقديم ملف XPS إلى DOC باستخدام Aspose.PDF for Java . بعد ذلك ، باستخدام واجهة برمجة تطبيقات معالجة المستندات القوية Aspose.Words for Java ، يمكنك تحويل DOC إلى PCL. تأتي كلتا واجهات برمجة التطبيقات ضمن حزمة Aspose.Total for Java .
Java API لتحويل XPS إلى PCL
متطلبات التحويل
يمكنك بسهولة استخدام Aspose.Total for Java مباشرة من مشروع قائم على Maven وتشمل Aspose.PDF for Java و Aspose.Words for Java في ملف pom.xml الخاص بك.
بدلاً من ذلك ، يمكنك الحصول على ملف ZIP من التنزيلات .
// load XPS file with an instance of Document class
Document document = new Document("template.xps");
// save XPS as a DOC
document.save("DocOutput.doc", SaveFormat.DOC);
// load DOC with an instance of Document
Document outputDocument = new com.aspose.words.Document("DocOutput.doc");
// call save method while passing SaveFormat.PCL
outputDocument.save("output.pcl", SaveFormat.PCL);
متطلبات التحويل
أثناء تحويل XPS إلى PCL ، حتى إذا كان المستند محميًا بكلمة مرور ، فلا يزال بإمكانك فتحه باستخدام واجهة برمجة تطبيقات معالجة PDF Aspose.PDF for Java . لفتح الملف المشفر ، تحتاج إلى إنشاء كائن Document وفتح XPS باستخدام كلمة مرور المالك.
// open encrypted document
Document document = new Document("input.xps", "password");
// save XPS as a DOC
document.save("DocOutput.doc", SaveFormat.DOC);
افتح مستند XPS المحمي بكلمة مرور عبر Java
أثناء حفظ مستند الإدخال بتنسيق ملف PCL ، يمكنك أيضًا حفظ المستند في قاعدة البيانات بدلاً من نظام الملفات. قد تحتاج إلى تنفيذ تخزين واسترجاع كائنات المستند من قاعدة البيانات وإليها. سيكون هذا ضروريًا إذا كنت تقوم بتنفيذ أي نوع من أنظمة إدارة المحتوى. من أجل حفظ PCL في قاعدة البيانات ، غالبًا ما يكون من الضروري إجراء تسلسل للوثيقة للحصول على مصفوفة بايت. يمكن القيام بذلك باستخدام واجهة برمجة تطبيقات Aspose.Words for Java . بعد الحصول على مصفوفة البايت الخاصة بك ، يمكنك تخزينها في قاعدة البيانات باستخدام جملة SQL.
public static void StoreToDatabase(Document doc, Connection mConnection) throws Exception {
// create an output stream which uses byte array to save data
ByteArrayOutputStream aout = new ByteArrayOutputStream();
// save the document to byte array
doc.save(aout, SaveFormat.PCL);
// get the byte array from output steam
// the byte array now contains the document
byte[] buffer = aout.toByteArray();
// get the filename from the document.
String fileName = doc.getOriginalFileName();
String filePath = fileName.replace("\\", "\\\\");
// create the SQL command.
String commandString = "INSERT INTO Documents (FileName, FileContent) VALUES('" + filePath + "', '" + buffer + "')";
Statement statement = mConnection.createStatement();
statement.executeUpdate(commandString);
}