Вы можете преобразовать CGM в XAMLFLOW, выполнив два простых шага. Сначала вам нужно преобразовать файл CGM в DOC, используя Aspose.PDF для Java . После этого, используя мощный API обработки документов Aspose.Words for Java , вы можете преобразовать DOC в XAMLFLOW. Оба API входят в пакет Aspose.Total for Java .
Java API для преобразования CGM в XAMLFLOW
Требования к конвертации
Вы можете легко использовать Aspose.Total для Java непосредственно из проекта на основе Maven . и включите Aspose.PDF для Java и Aspose.Words для Java в вашем файле pom.xml.
Кроме того, вы можете получить ZIP-файл из загрузки .
// load CGM file with an instance of Document class
Document document = new Document("template.cgm");
// save CGM 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.XAML_FLOW
outputDocument.save("output.xaml_flow", SaveFormat.XAML_FLOW);
Требования к конвертации
При преобразовании CGM в XAMLFLOW, даже если ваш документ защищен паролем, вы все равно можете открыть его с помощью API управления PDF Aspose.PDF для Java . Чтобы открыть зашифрованный файл, вам необходимо создать объект Документ и открыть CGM, используя пароль владельца.
// open encrypted document
Document document = new Document("input.cgm", "password");
// save CGM as a DOC
document.save("DocOutput.doc", SaveFormat.DOC);
Открыть защищенный паролем документ CGM через Java
При сохранении входного документа в формате файла XAMLFLOW вы также можете сохранить документ в базе данных, а не в файловой системе. Вам может потребоваться реализовать хранение и извлечение объектов Document в базу данных и из нее. Это было бы необходимо, если бы вы внедряли систему управления контентом любого типа. Чтобы сохранить ваш XAMLFLOW в базу данных, часто необходимо сериализовать документ, чтобы получить массив байтов. Это можно сделать с помощью API 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.XAML_FLOW);
// 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);
}