Opções avançadas de salvamento de documentos HTML com Aspose.Words Java

Neste tutorial, exploraremos as opções avançadas de salvamento de documentos HTML fornecidas pelo Aspose.Words para Java. O Aspose.Words é uma API Java poderosa para trabalhar com documentos do Word e oferece uma ampla gama de recursos para manipulação e conversão de documentos.

1. Introdução

Aspose.Words para Java permite que você trabalhe com documentos do Word programaticamente. Neste tutorial, focaremos em opções avançadas de salvamento de documentos HTML, que permitem que você controle como os documentos do Word são convertidos para HTML.

2. Exportar informações de ida e volta

OexportRoundtripInformation O método permite que você exporte documentos do Word para HTML enquanto preserva informações de ida e volta. Essas informações podem ser úteis quando você deseja converter HTML de volta para o formato Word sem perder nenhum detalhe específico do documento.

public void exportRoundtripInformation() throws Exception {
    Document doc = new Document("Your Directory Path" + "Rendering.docx");
    HtmlSaveOptions saveOptions = new HtmlSaveOptions();
    saveOptions.setExportRoundtripInformation(true);
    doc.save("Your Directory Path" + "WorkingWithHtmlSaveOptions.ExportRoundtripInformation.html", saveOptions);
}

3. Exportar fontes como Base64

Com oexportFontsAsBase64 método, você pode exportar fontes usadas no documento como dados codificados em Base64 no HTML. Isso garante que a representação HTML retenha os mesmos estilos de fonte do documento original do Word.


public void exportFontsAsBase64() throws Exception {
    Document doc = new Document("Your Directory Path" + "Rendering.docx");
    HtmlSaveOptions saveOptions = new HtmlSaveOptions();
    saveOptions.setExportFontsAsBase64(true);
    doc.save("Your Directory Path" + "WorkingWithHtmlSaveOptions.ExportFontsAsBase64.html", saveOptions);
}

4. Exportar Recursos

OexportResources O método permite que você especifique o tipo de folha de estilo CSS e exporte recursos de fonte. Você também pode definir uma pasta de recursos e um alias para recursos no HTML.


public void exportResources() throws Exception {
    Document doc = new Document("Your Directory Path" + "Rendering.docx");
    HtmlSaveOptions saveOptions = new HtmlSaveOptions();
    saveOptions.setCssStyleSheetType(CssStyleSheetType.EXTERNAL);
    saveOptions.setExportFontResources(true);
    saveOptions.setResourceFolder("Your Directory Path" + "Resources");
    saveOptions.setResourceFolderAlias("http://exemplo.com/recursos");
    doc.save("Your Directory Path" + "WorkingWithHtmlSaveOptions.ExportResources.html", saveOptions);
}

5. Converta Metafiles para EMF ou WMF

OconvertMetafilesToEmfOrWmf método permite que você converta metarquivos no documento para o formato EMF ou WMF, garantindo compatibilidade e renderização suave em HTML.


public void convertMetafilesToEmfOrWmf() throws Exception {

	string dataDir = "Your Document Directory";
    Document doc = new Document();
	DocumentBuilder builder = new DocumentBuilder(doc);

	builder.write("Here is an image as is: ");
	builder.insertHtml(
		"<img src=\"data:image/png;base64,\r\n                    iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGP\r\n                    C/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IA\r\n                    AAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1J\r\n                    REFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jq\r\n                    ch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0\r\n vr4MkhoXe0rZigAAAABJRU5ErkJggg==\" alt=\"Ponto vermelho\" />");

	HtmlSaveOptions saveOptions = new HtmlSaveOptions(); { saveOptions.setMetafileFormat(HtmlMetafileFormat.EMF_OR_WMF); }

	doc.save(dataDir + "WorkingWithHtmlSaveOptions.ConvertMetafilesToEmfOrWmf.html", saveOptions);
}

6. Converter Metafiles para SVG

Use oconvertMetafilesToSvg método para converter metafiles para o formato SVG. Este formato é ideal para exibir gráficos vetoriais em documentos HTML.


public void convertMetafilesToSvg() throws Exception {
	string dataDir = "Your Document Directory";
    Document doc = new Document();
	DocumentBuilder builder = new DocumentBuilder(doc);
	
	builder.write("Here is an SVG image: ");
	builder.insertHtml(
		"<svg height='210' width='500'>\r\n                <polygon points='100,10 40,198 190,78 10,78 160,198' \r\n                    style='fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;' />\r\n            </svg> ");

	HtmlSaveOptions saveOptions = new HtmlSaveOptions(); { saveOptions.setMetafileFormat(HtmlMetafileFormat.SVG); }

	doc.save(dataDir + "WorkingWithHtmlSaveOptions.ConvertMetafilesToSvg.html", saveOptions);
}

7. Adicionar prefixo de nome de classe CSS

Com oaddCssClassNamePrefix método, você pode adicionar um prefixo aos nomes de classe CSS no HTML exportado. Isso ajuda a evitar conflitos com estilos existentes.


public void addCssClassNamePrefix() throws Exception {
    Document doc = new Document("Your Directory Path" + "Rendering.docx");
    HtmlSaveOptions saveOptions = new HtmlSaveOptions();
    saveOptions.setCssStyleSheetType(CssStyleSheetType.EXTERNAL);
    saveOptions.setCssClassNamePrefix("pfx_");
    doc.save("Your Directory Path" + "WorkingWithHtmlSaveOptions.AddCssClassNamePrefix.html", saveOptions);
}

8. Exportar URLs CID para recursos MHTML

OexportCidUrlsForMhtmlResources O método é usado ao salvar documentos no formato MHTML. Ele permite exportar URLs Content-ID para recursos.


public void exportCidUrlsForMhtmlResources() throws Exception {
	string dataDir = "Your Document Directory";
    Document doc = new Document(dataDir + "Content-ID.docx");

	HtmlSaveOptions saveOptions = new HtmlSaveOptions(SaveFormat.MHTML);
	{
		saveOptions.setPrettyFormat(true); saveOptions.setExportCidUrlsForMhtmlResources(true);
	}

	doc.save(dataDir + "WorkingWithHtmlSaveOptions.ExportCidUrlsForMhtmlResources.mhtml", saveOptions);
}

9. Resolva nomes de fontes

OresolveFontNames O método ajuda a resolver nomes de fontes ao salvar documentos no formato HTML, garantindo uma renderização consistente em diferentes plataformas.


public void resolveFontNames() throws Exception {
    
	string dataDir = "Your Document Directory";
	Document doc = new Document(dataDir + "Missing font.docx");

	HtmlSaveOptions saveOptions = new HtmlSaveOptions(SaveFormat.HTML);
	{
		saveOptions.setPrettyFormat(true); saveOptions.setResolveFontNames(true);
	}

	doc.save(dataDir + "WorkingWithHtmlSaveOptions.ResolveFontNames.html", saveOptions);
}

10. Exportar campo de entrada de texto como texto

OexportTextInputFormFieldAsText método exporta campos de formulário como texto simples em HTML, tornando-os facilmente legíveis e editáveis.


public void exportTextInputFormFieldAsText() throws Exception {
    
	string dataDir = "Your Document Directory";
	Document doc = new Document(dataDir + "Rendering.docx");

	String imagesDir = Path.combine(dataDir, "Images");

	// A pasta especificada precisa existir e deve estar vazia.
	if (Directory.exists(imagesDir))
		Directory.delete(imagesDir, true);

	Directory.createDirectory(imagesDir);

	// Defina uma opção para exportar campos de formulário como texto simples, não como elementos de entrada HTML.
	HtmlSaveOptions saveOptions = new HtmlSaveOptions(SaveFormat.HTML);
	{
		saveOptions.setExportTextInputFormFieldAsText(true); saveOptions.setImagesFolder(imagesDir);
	}

	doc.save(dataDir + "WorkingWithHtmlSaveOptions.ExportTextInputFormFieldAsText.html", saveOptions);
}

Conclusão

Neste tutorial, exploramos as opções avançadas de salvamento de documentos HTML fornecidas pelo Aspose.Words para Java. Essas opções dão a você controle refinado sobre o processo de conversão, permitindo que você crie documentos HTML que se assemelham muito aos documentos originais do Word.

Perguntas frequentes

Aqui estão algumas perguntas frequentes sobre como trabalhar com o Aspose.Words para opções de salvamento de documentos Java e HTML:

P1: Como posso converter HTML de volta para o formato Word usando o Aspose.Words para Java?

Para converter HTML de volta para o formato Word, você pode usar a API do Aspose.Wordsload método para carregar o documento HTML e salvá-lo no formato Word.

P2: Posso personalizar os estilos CSS ao exportar para HTML?

Sim, você pode personalizar os estilos CSS modificando as folhas de estilo usadas no HTML ou usando oaddCssClassNamePrefix método para adicionar um prefixo aos nomes de classes CSS.

P3: Existe uma maneira de otimizar a saída HTML para exibição na web?

Sim, você pode otimizar a saída HTML para exibição na web configurando opções como exportar fontes como Base64 e converter metarquivos para SVG.

P4: Há alguma limitação ao converter documentos complexos do Word para HTML?

Embora o Aspose.Words para Java forneça recursos de conversão poderosos, documentos complexos do Word com layouts intrincados podem exigir pós-processamento adicional para obter a saída HTML desejada.