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