Você pode converter MD para ODT usando duas etapas simples. Primeiro você precisa renderizar o arquivo MD para DOC usando Aspose.PDF for Java . Depois disso, usando a poderosa API de processamento de documentos Aspose.Words for Java , você pode converter DOC para ODT. Ambas as APIs estão no pacote Aspose.Total for Java .
API Java para converter MD em ODT
Requisitos de conversão
Você pode facilmente usar o Aspose.Total para Java diretamente de um projeto baseado em Maven e inclua Aspose.PDF for Java e Aspose.Words for Java em seu pom.xml.
Como alternativa, você pode obter um arquivo ZIP em downloads .
Requisitos de conversão
Ao converter MD para ODT, mesmo que seu documento esteja protegido por senha, você ainda pode abri-lo usando a API de manipulação de PDF Aspose.PDF for Java . Para abrir o arquivo criptografado, você precisa criar um objeto Document e abrir o MD usando a senha do proprietário.
// open encrypted document
Document document = new Document("input.md", "password");
// save MD as a DOC
document.save("DocOutput.doc", SaveFormat.DOC);
Abrir documento MD protegido por senha via Java
Ao salvar seu documento de entrada no formato de arquivo ODT, você também pode salvar seu documento no banco de dados em vez de em um sistema de arquivos. Pode ser necessário implementar o armazenamento e a recuperação de objetos Document de e para um banco de dados. Isso seria necessário se você estivesse implementando qualquer tipo de sistema de gerenciamento de conteúdo. Para salvar seu ODT no banco de dados, muitas vezes é necessário serializar o documento para obter uma matriz de bytes. Isso pode ser feito usando a API Aspose.Words for Java . Depois de obter sua matriz de bytes, você pode armazená-la no banco de dados usando a instrução 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.ODT);
// 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);
}