Criar um arquivo MHTML a partir de HTML editado

O Aspose.HTML for .NET carrega HTML em um HTMLDocument editável. Depois que uma aplicação C# altera nós do DOM, texto, atributos ou estilos, MHTMLSaveOptions empacota o HTML resultante e os recursos processados em um arquivo web MHTML ou MHT.

Esse fluxo cria um novo arquivo MHTML a partir de HTML editável. Ele não abre um arquivo .mhtml ou .mht existente como um DOM HTML editável.


Atualizar conteúdo HTML e salvá-lo como MHTML

O exemplo a seguir carrega input.html, atualiza o primeiro parágrafo e grava o documento modificado e seus recursos processados em edited.mhtml.

Código C# para criar MHTML a partir de HTML editado

using Aspose.Html;
using Aspose.Html.Dom;
using Aspose.Html.Saving;

using HTMLDocument document = new HTMLDocument("input.html");

// Update the HTML DOM before creating the archive
Element paragraph = document.QuerySelector("p");
if (paragraph != null)
{
    paragraph.TextContent = "Updated paragraph text.";
    paragraph.SetAttribute("class", "updated-content");
}

// Package the edited HTML and handled resources as MHTML
MHTMLSaveOptions options = new MHTMLSaveOptions();
document.Save("edited.mhtml", options);

Etapas para criar MHTML a partir de HTML editado

  1. Carregue a origem editável com um construtor de HTMLDocument .
  2. Localize o nó necessário do DOM com QuerySelector() ou outro método de navegação.
  3. Atualize o conteúdo, os atributos ou os estilos do elemento antes de criar o arquivo.
  4. Crie uma instância de MHTMLSaveOptions e configure o processamento de recursos quando o comportamento padrão não for suficiente.
  5. Chame Save() com as opções de MHTML e o caminho de saída com extensão .mhtml ou .mht.

Recursos e limitações da criação de MHTML

  • Editar antes de empacotar. Altere o DOM HTML com as mesmas APIs de nós, seletores, atributos, texto e estilos usadas no fluxo de edição de HTML .
  • Criar um arquivo web único. Empacote o HTML editado e os recursos processados em um arquivo MHTML para armazenamento, transferência ou uso offline.
  • Controlar o processamento de recursos. Use MHTMLSaveOptions.ResourceHandlingOptions para configurar restrições de URL, profundidade de páginas vinculadas e processamento de recursos no fluxo de arquivamento.
  • Considerar recursos inacessíveis. Uma imagem, folha de estilo, fonte ou script remoto pode ser omitido quando não puder ser recuperado ou for excluído pelas restrições configuradas.
  • Processar arquivos existentes com fluxos específicos. Use MHTML para PDF para obter uma saída de layout fixo ou Mesclar MHTML para renderizar vários arquivos em um único resultado.
  • Usar a página de conversão para tarefas apenas de empacotamento. Quando não forem necessárias alterações no DOM, consulte HTML para MHTML para obter exemplos específicos de conversão.

Documentação sobre edição de HTML e MHTML

Consulte Editar documento HTML para ver exemplos de modificação do DOM. O guia Converter HTML em MHTML explica a criação do arquivo e MHTMLSaveOptions. Para entender a diferença entre documentos HTML editáveis e fluxos de renderização MHTML, consulte Criar ou carregar documentos HTML .


Instalar o Aspose.HTML for .NET

Instale o Aspose.HTML for .NET pelo NuGet usando a CLI do .NET:

dotnet add package Aspose.HTML

Você também pode usar a interface do Gerenciador de Pacotes NuGet ou executar Install-Package Aspose.HTML no Console do Gerenciador de Pacotes. Consulte o guia de instalação para configurar a biblioteca ou solicite uma licença temporária para avaliar a API sem limitações.


Perguntas frequentes sobre o fluxo de HTML para MHTML

1. Posso criar MHTML a partir de uma string ou stream HTML?

Sim. Crie um HTMLDocument a partir da string ou do stream e forneça uma URL base quando o conteúdo usar referências relativas a recursos. Aplique as alterações necessárias no DOM e chame Save() com MHTMLSaveOptions para gravar o arquivo.

2. MHTML e MHT são formatos diferentes?

Não. .mhtml e .mht são extensões usadas normalmente para o mesmo formato de arquivo web MIME HTML. Escolha a extensão exigida pela aplicação de destino ou pela convenção de armazenamento.

3. A saída MHTML conterá todas as imagens, folhas de estilo, fontes e scripts vinculados?

O arquivo pode incluir recursos processados que estejam acessíveis e sejam permitidos pelas configurações. URLs inválidas, requisitos de autenticação, restrições de rede ou filtros das opções de salvamento podem impedir a inclusão de um recurso.

4. Salvar como MHTML altera o arquivo HTML de origem?

Não. As alterações no DOM existem no HTMLDocument em memória, e a operação de salvamento MHTML grava um arquivo separado no caminho de saída selecionado. O arquivo de origem só muda se a aplicação o sobrescrever explicitamente.

5. A saída MHTML equivale à saída PDF?

Não. MHTML é um arquivo web MIME que armazena HTML e recursos relacionados para processamento posterior semelhante ao de um navegador. PDF é um documento renderizado de layout fixo destinado à visualização, impressão e distribuição consistentes.

Fluxos relacionados a HTML e MHTML

Continue com edição, criação de arquivos, conversão ou mesclagem.