Exibir documentos do Word como páginas HTML usando uma API REST em C#

Como desenvolvedor C#, você pode renderizar facilmente arquivos DOC ou DOCX em páginas HTML programaticamente em seus aplicativos .NET na nuvem. Pode ser útil para compartilhar seus documentos do Word como páginas HTML responsivas com as partes interessadas relevantes. Neste artigo, você aprenderá como exibir documentos do Word como páginas HTML usando uma API REST em C#.

Word para HTML Viewer REST API e .NET SDK

Para renderizar arquivos DOC ou DOCX para HTML, usarei a API .NET SDK do GroupDocs.Viewer Cloud. Ele permite que você renderize e visualize programaticamente todos os tipos de formatos populares de documentos e arquivos de imagem, como Word, Excel, PDF, PowerPoint, Visio, Project, Outlook, JPG, PNG, etc.

Você pode instalar o GroupDocs.Viewer Cloud em seu projeto do Visual Studio a partir do Gerenciador de Pacotes NuGet ou instalá-lo usando o seguinte comando no console do Gerenciador de Pacotes:

Install-Package GroupDocs.Viewer-Cloud

Obtenha seu ID e Segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID de cliente e segredo, adicione o código conforme mostrado abaixo:

string MyClientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string MyClientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string MyStorage = "";

var configuration = new Configuration(MyClientId, MyClientSecret);

Exibir documentos do Word como páginas HTML usando uma API REST em C#

Você pode visualizar documentos do Word como páginas HTML na nuvem seguindo as etapas simples mencionadas abaixo:

Carregue o Documento

Em primeiro lugar, carregue o arquivo DOCX para a nuvem usando o exemplo de código abaixo:

// inicializar API
var apiInstance = new FileApi(configuration);

// Abra o arquivo no IOStream do local/disco.
var fileStream = File.Open(@"C:\Files\Sample.docx", FileMode.Open);

// criar solicitação de upload de arquivo
var request = new UploadFileRequest("sample.docx", fileStream, MyStorage);

// subir arquivo
var response = apiInstance.UploadFile(request);

Como resultado, o arquivo DOCX carregado estará disponível na seção de arquivos do seu painel.

Renderizar Word para páginas HTML usando C#

Você pode renderizar seus documentos do Word em páginas HTML programaticamente seguindo as etapas abaixo:

  • Crie uma instância da ViewAPI
  • Crie uma instância do FileInfo
  • Forneça o caminho do arquivo de entrada
  • Crie uma instância do ViewOptions
  • Atribuir FileInfo às ViewOptions
  • Defina o ViewFormat como “HTML”
  • Crie uma solicitação de exibição chamando o método CreateViewRequest com ViewOptions
  • Obtenha uma resposta chamando o método CreateView() com CreateViewRequest

O exemplo de código a seguir mostra como renderizar um documento do Word em páginas HTML usando uma API REST em C#.

// inicializar API
var apiInstance = new ViewApi(configuration);

// caminho do arquivo de entrada
var fileInfo = new GroupDocs.Viewer.Cloud.Sdk.Model.FileInfo();
fileInfo.FilePath = "sample.docx";

// definir opções de visualização
var viewOptions = new ViewOptions();
viewOptions.FileInfo = fileInfo;
viewOptions.ViewFormat = ViewOptions.ViewFormatEnum.HTML;   // output view format

// criar solicitação de visualização
var request = new CreateViewRequest(viewOptions);

// criar visualização
var response = apiInstance.CreateView(request);
Exiba documentos do Word como páginas HTML usando uma API REST em C#.

Exiba documentos do Word como páginas HTML usando uma API REST em C#.

Baixe as páginas HTML renderizadas

O exemplo de código acima salvará as páginas HTML renderizadas na nuvem. Você pode baixá-los usando o seguinte exemplo de código:

// inicializar API
var fileApi = new FileApi(configuration);

// salvar todas as páginas HTML renderizadas
foreach (var page in response.Pages)
{
    // criar solicitação de download de arquivo
    var downloadFileRequest = new DownloadFileRequest(page.Path, MyStorage);

    // ⇬ Fazer download do arquivo
    var file = fileApi.DownloadFile(downloadFileRequest);
    
    // salvar arquivo no diretório de trabalho
    using (var fileStream = System.IO.File.Create("C:\\Files\\" + page.Path))
    {
        file.Seek(0, SeekOrigin.Begin);
        file.CopyTo(fileStream);
    }
}

Renderize páginas do Word em HTML com opções de renderização usando C#

Você pode usar opções de renderização específicas para renderizar documentos do Word em páginas HTML programaticamente seguindo as etapas abaixo:

  • Crie uma instância da ViewAPI
  • Crie uma instância do FileInfo
  • Forneça o caminho do arquivo de entrada
  • Crie uma instância do ViewOptions
  • Atribuir FileInfo às ViewOptions
  • Defina o ViewFormat como “HTML”
  • Crie uma instância do RenderOptions
  • Defina várias opções de renderização, como PagesToRender, RenderComments, etc.
  • Crie uma solicitação de exibição chamando o método CreateViewRequest com ViewOptions
  • Obtenha uma resposta chamando o método CreateView() com CreateViewRequest

O exemplo de código a seguir mostra como renderizar um documento do Word em páginas HTML com opções de renderização usando uma API REST em C#.

// inicializar API
var apiInstance = new ViewApi(configuration);

// caminho do arquivo de entrada
var fileInfo = new GroupDocs.Viewer.Cloud.Sdk.Model.FileInfo();
fileInfo.FilePath = "sample.docx";

// definir opções de visualização
var viewOptions = new ViewOptions();
viewOptions.FileInfo = fileInfo;
viewOptions.ViewFormat = ViewOptions.ViewFormatEnum.HTML;   // output view format

// definir opções de renderização
viewOptions.RenderOptions = new RenderOptions
{
    // renderizar comentários
    RenderComments = true,

    // renderizar um intervalo específico de páginas
    StartPageNumber = 1,
    CountPagesToRender = 2,
};

// criar solicitação de visualização
var request = new CreateViewRequest(viewOptions);

// criar visualização
var response = apiInstance.CreateView(request);

Renderização de Word para HTML com marca d’água usando C#

Você pode adicionar um texto de marca d’água ao renderizar documentos do Word em HTML programaticamente seguindo as etapas abaixo:

  • Crie uma instância da ViewAPI
  • Crie uma instância do FileInfo
  • Forneça o caminho do arquivo de entrada
  • Crie uma instância do ViewOptions
  • Atribuir FileInfo às ViewOptions
  • Defina o ViewFormat como “HTML”
  • Definir opção de exibição de marca d’água
  • Definir texto, tamanho, cor e posição da marca d’água
  • Crie uma solicitação de exibição chamando o método CreateViewRequest com ViewOptions
  • Obtenha uma resposta chamando o método CreateView() com CreateViewRequest

O exemplo de código a seguir mostra como adicionar um texto de marca d’água a páginas HTML renderizadas usando uma API REST em C#.

// inicializar API
var apiInstance = new ViewApi(configuration);

// caminho do arquivo de entrada
var fileInfo = new GroupDocs.Viewer.Cloud.Sdk.Model.FileInfo();
fileInfo.FilePath = "sample.docx";

// definir opções de visualização
var viewOptions = new ViewOptions();
viewOptions.FileInfo = fileInfo;
viewOptions.ViewFormat = ViewOptions.ViewFormatEnum.HTML;   // output view format

// definir marca d'água
viewOptions.Watermark = new Watermark
{
    Text = "This is a sample watermark!",
    Size = 100,
    Color = "Red",
    Position = Watermark.PositionEnum.Diagonal
};
          
// criar solicitação de visualização
var request = new CreateViewRequest(viewOptions);

// criar visualização
var response = apiInstance.CreateView(request);
Renderização de Word para HTML com marca d'água usando C#.

Renderização de Word para HTML com marca d’água usando C#.

Experimente on-line

Experimente a seguinte ferramenta de renderização de Word on-line gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/viewer/docx

Conclusão

Neste artigo, você aprendeu como exibir documentos do Word como páginas HTML na nuvem. Você também aprendeu como renderizar Word para HTML com opções de renderização em C#. Além disso, você aprendeu como adicionar uma marca d’água de texto a páginas HTML renderizadas programaticamente usando C#. Além disso, você aprendeu como carregar programaticamente um arquivo DOCX para a nuvem e, em seguida, baixar os arquivos HTML renderizados da nuvem. Você pode aprender mais sobre GroupDocs.Viewer Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também