PDF para Word

Converter PDF para Word usando C# .NET

Um grande número de documentos é produzido em Portable Document Format (PDF) porque ele preserva a formatação do documento em todas as plataformas (desktop ou mobile).No entanto, não podemos modificar diretamente os arquivos PDF e, para esse propósito, precisamos usar algum software de manipulação de PDF que inclui custos de instalação e licenciamento. Portanto, uma das soluções viáveis é a conversão de PDF para o formato Word.

API de conversão de PDF para Word

Aspose.PDF Cloud é uma API incrível baseada em REST que oferece recursos para criar, manipular e renderizar arquivos PDF em DOC, DOCX, XLSX, PPTX, HTML, etc. Devido à sua arquitetura REST, ela pode ser usada em qualquer plataforma, incluindo desktop, web, celular e qualquer sistema operacional, como Windows, macOS, Linux, etc. Portanto, para converter PDF em Word dentro do aplicativo .NET, o Aspose.PDF Cloud SDK para .NET pode ser usado.

Execute o seguinte comando no gerenciador de pacotes NuGet para instalar a versão mais recente do SDK.

Install-Package Aspose.Pdf-Cloud

Referenciando dentro do Visual Studio

Também podemos adicionar o SDK diretamente dentro do projeto do Visual Studio. Portanto, expanda a árvore do projeto no Solution Explorer, clique com o botão direito do mouse na pasta Packages e selecione a opção Manage NuGet Packages… no menu de contexto. Pesquise Aspose.PDF Cloud no campo de pesquisa, ative a caixa de seleção ao lado do nome do pacote e clique no botão Add Package

Gerenciar pacotes NuGet

Imagem 1:- Gerenciar pacotes NuGet.

Caso você não tenha uma conta no Aspose.Cloud dashboard, crie uma conta gratuita usando sua conta GitHub ou Google existente ou clique no botão Create a new Account. Obtenha suas credenciais de cliente personalizadas, pois elas serão necessárias nas seções seguintes.

PDF para DOC em C#

Siga os passos especificados abaixo para executar a conversão de arquivos PDF para o formato de documento Word (DOC) no aplicativo C# .NET. Após a conversão, a saída é armazenada em uma instância do steam que pode ser salva posteriormente no sistema local.

  • Primeiro, defina os detalhes do ID do cliente e do segredo do cliente usando objetos de string.
  • Em segundo lugar, inicialize o objeto PdfApi enquanto passa o ID do cliente e o segredo do cliente como argumentos.
  • Terceiro, leia o conteúdo do arquivo e carregue-o no armazenamento em nuvem usando o método UploadFile(…) do PdfApi.
  • Agora precisamos chamar o método GetPdfInStorageToDoc(…) que pega a referência do arquivo PDF do armazenamento em nuvem e outros parâmetros opcionais, como formato, maxDistanceBetweenTextLines, modo de conversão, etc.
  • Como a saída está na instância do Steam, podemos usar o método File.Create para salvar a saída na unidade local.
// obter credenciais do cliente em https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// crie uma instância de PdfApi
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// Nome do arquivo PDF de entrada
String inputFile = "HtmlExample1.pdf";

// carregue o arquivo para o armazenamento em nuvem
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

try
{
    // chame o método para executar a conversão e salvar a saída na instância do fluxo
    // Especificamos o formato de saída como Docx e o modo como Flow 
    // O valor do modo permite controlar como um documento PDF é convertido em um documento de processamento de texto.
    var response = pdfApi.GetPdfInStorageToDoc(inputFile,null, format: "Docx",null,null,maxDistanceBetweenTextLines: 2,mode: "Flow", folder: null);
    Console.WriteLine(response);
    
    // chamar método para salvar saída na unidade local
    saveToDisk(response, "/Users/nshahbaz/Downloads/Converted.docx");
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// método para salvar conteúdo de fluxo em arquivo na unidade local
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}
Visualização de PDF para DOC

Imagem 1:- Visualização da conversão de PDF para DOC.

Visite os seguintes links para baixar HtmlExample1.pdf e Converted.docx.

Converter PDF para Word - Salvar saída no armazenamento em nuvem

Nesta seção, discutiremos o processo de carregar documentos PDF do armazenamento em nuvem, realizar sua conversão para o formato Word e salvar a saída no armazenamento em nuvem. Siga as instruções especificadas abaixo para realizar esta tarefa:

  • Primeiro, crie uma instância de PdfApi passando o ID do cliente e os detalhes do segredo do cliente como argumentos.
  • Carregue o arquivo PDF do sistema local e envie-o para o armazenamento em nuvem usando o método UploadFile(…) do PdfApi (esta é uma etapa opcional e pode ser usada se você ainda não tiver nenhum PDF no armazenamento em nuvem).
  • Crie uma variável de string definindo o nome do arquivo resultante.
  • Por fim, chame PutPdfInStorageToDoc(…) que aceita o nome do PDF de entrada, o nome do arquivo de saída e outros parâmetros opcionais.
// obter credenciais do cliente em https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// crie uma instância de PdfApi
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// Nome do arquivo PDF de entrada
String inputFile = "HtmlExample1.pdf";

// carregue o arquivo para o armazenamento em nuvem
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

// nome do arquivo resultante
string outputfile = "result.doc";

try
{
    // chame o método para executar a conversão e salvar a saída no armazenamento em nuvem
    var response = pdfApi.PutPdfInStorageToDoc(inputFile, outputfile, format: "Doc",folder: null);
    
    // imprimir código de resposta no console
    Console.WriteLine(response);
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

PDF para Word DOC usando comandos cURL

Os comandos cURL são um mecanismo incrível para acessar as APIs REST. Então, na seção a seguir, vamos executar a conversão de PDF para Word Doc usando o comando cURL. No entanto, como pré-requisito, o primeiro passo é gerar um JSON Web Token (JWT) com base nos detalhes do ClientID e ClientSecret recuperados do painel Aspose.Cloud. Execute o seguinte comando no terminal para gerar o token JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Uma vez que temos o token JWT, podemos executar o seguinte comando para realizar a conversão do arquivo PDF já disponível no armazenamento em nuvem. O documento Word resultante é então armazenado no armazenamento em nuvem.

curl -X PUT "https://api.aspose.cloud/v3.0/pdf/HtmlExample1.pdf/convert/doc?outPath=converted.docx&addReturnToLineEnd=true&format=DocX&mode=Textbox" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Conclusão

Este artigo explicou as etapas para desenvolver um PDF para Word Converter usando o Aspose.PDF Cloud. Exploramos as opções para converter PDF para DOC usando o snippet de código C#, bem como para converter PDF para Word usando comandos cURL. Além da conversão, ele também fornece outros recursos interessantes e seus detalhes podem ser encontrados em Recursos do Aspose.PDF Cloud.

Como nossos Cloud SDKS são desenvolvidos sob MIT License, seu snippet de código completo pode ser baixado do GitHub. Caso você encontre algum problema ao usar a API ou tenha alguma dúvida relacionada, sinta-se à vontade para entrar em contato via Free Support forum.

Artigos relacionados

Recomendamos também que você visite os seguintes links para saber mais sobre: