PDF a Word

Convertir PDF a Word usando C# .NET

Una gran cantidad de documentos se producen en formato de documento portátil (PDF) porque conserva el formato del documento en todas las plataformas (de escritorio o móviles).Sin embargo, no podemos modificar directamente los archivos PDF y para ello necesitamos utilizar algún software de manipulación de PDF que incluye costos de instalación y licencia. Por lo tanto, una de las soluciones viables es la conversión de PDF a formato Word.

API de conversión de PDF a Word

Aspose.PDF Cloud es una increíble API basada en REST que ofrece la capacidad de crear, manipular y renderizar archivos PDF en DOC, DOCX, XLSX, PPTX, HTML, etc. Debido a su arquitectura REST, se puede utilizar en cualquier plataforma, incluidas las de escritorio, la web, los dispositivos móviles y cualquier sistema operativo como Windows, macOS, Linux, etc. Por lo tanto, para convertir PDF a Word dentro de la aplicación .NET, se puede utilizar Aspose.PDF Cloud SDK para .NET.

Ejecute el siguiente comando en el administrador de paquetes NuGet para instalar la última versión del SDK.

Install-Package Aspose.Pdf-Cloud

Referencias dentro de Visual Studio

También podemos agregar el SDK directamente dentro del proyecto de Visual Studio. Para ello, expanda el árbol de proyectos en el Explorador de soluciones, haga clic con el botón derecho en la carpeta Paquetes y seleccione la opción Administrar paquetes NuGet… en el menú contextual. Busque Aspose.PDF Cloud en el campo de búsqueda, habilite la casilla de verificación junto al nombre del paquete y haga clic en el botón Agregar paquete

Administrar paquetes NuGet

Imagen 1: Administrar paquetes NuGet.

En caso de que no tenga una cuenta en Aspose.Cloud dashboard, cree una cuenta gratuita con su cuenta de GitHub o Google existente o haga clic en el botón Crear una nueva cuenta. Obtenga sus credenciales de cliente personalizadas, ya que se le solicitarán en las siguientes secciones.

PDF a DOC en C#

Siga los pasos que se indican a continuación para realizar la conversión de archivos PDF al formato de documento Word (DOC) en la aplicación C# .NET. Después de la conversión, el resultado se almacena en una instancia de Steam que luego se puede guardar en el sistema local.

  • En primer lugar, defina los detalles del ID del cliente y del secreto del cliente utilizando objetos de cadena.
  • En segundo lugar, inicialice el objeto PdfApi mientras pasa el ID de cliente y el secreto de cliente como argumentos.
  • En tercer lugar, lea el contenido del archivo y cárguelo al almacenamiento en la nube utilizando el método UploadFile(…) de PdfApi.
  • Ahora necesitamos llamar al método GetPdfInStorageToDoc(…) que toma la referencia del archivo PDF del almacenamiento en la nube y otros parámetros opcionales como formato, maxDistanceBetweenTextLines, modo de conversión, etc.
  • Dado que la salida está en la instancia de Steam, podemos usar el método File.Create para guardar la salida en la unidad local.
// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// crear una instancia de PdfApi
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// Introduzca el nombre del archivo PDF
String inputFile = "HtmlExample1.pdf";

// Sube el archivo al almacenamiento en la nube
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

try
{
    // Llamar al método para realizar la conversión y guardar la salida en la instancia de flujo
    // Hemos especificado el formato de salida como Docx y el modo como Flow. 
    // El valor del modo permite controlar cómo se convierte un documento PDF en un documento de procesamiento de texto.
    var response = pdfApi.GetPdfInStorageToDoc(inputFile,null, format: "Docx",null,null,maxDistanceBetweenTextLines: 2,mode: "Flow", folder: null);
    Console.WriteLine(response);
    
    // Llamar al método para guardar la salida en la unidad local
    saveToDisk(response, "/Users/nshahbaz/Downloads/Converted.docx");
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// Método para guardar el contenido de la transmisión en un archivo en la unidad local
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}
Vista previa de PDF a DOC

Imagen 1: Vista previa de conversión de PDF a DOC.

Visite los siguientes enlaces para descargar HtmlExample1.pdf y Converted.docx.

Convertir PDF a Word: guardar el resultado en el almacenamiento en la nube

En esta sección, analizaremos el proceso de carga de documentos PDF desde el almacenamiento en la nube, su conversión al formato Word y el almacenamiento del resultado en el almacenamiento en la nube. Siga las instrucciones que se indican a continuación para realizar esta tarea:

  • Primero, cree una instancia de PdfApi pasando el ID del cliente y los detalles secretos del cliente como argumentos.
  • Cargue el archivo PDF desde el sistema local y cárguelo al almacenamiento en la nube usando el método UploadFile(…) de PdfApi (este es un paso opcional y se puede usar si aún no tiene ningún PDF en el almacenamiento en la nube).
  • Crear. una variable de cadena que define el nombre del archivo resultante.
  • Por último, llame a PutPdfInStorageToDoc(…) que acepta el nombre del PDF de entrada, el nombre del archivo de salida y otros parámetros opcionales.
// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// crear una instancia de PdfApi
PdfApi pdfApi = new PdfApi(clientSecret, clientID);

// Introduzca el nombre del archivo PDF
String inputFile = "HtmlExample1.pdf";

// Sube el archivo al almacenamiento en la nube
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" +inputFile))
{
    var response = pdfApi.UploadFile(inputFile, file );
}

// nombre del archivo resultante
string outputfile = "result.doc";

try
{
    // Llamar al método para realizar la conversión y guardar la salida en el almacenamiento en la nube.
    var response = pdfApi.PutPdfInStorageToDoc(inputFile, outputfile, format: "Doc",folder: null);
    
    // Imprimir código de respuesta en la consola
    Console.WriteLine(response);
}
catch (Exception ex)
{
    System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

Convertir PDF a DOC de Word mediante comandos cURL

Los comandos cURL son un mecanismo increíble para acceder a las API REST. Por lo tanto, en la siguiente sección, realizaremos la conversión de PDF a documento de Word utilizando el comando cURL. Sin embargo, como requisito previo, el primer paso es generar un token web JSON (JWT) basado en los detalles de ClientID y ClientSecret recuperados del panel de Aspose.Cloud. Ejecute el siguiente comando en la terminal para generar el 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"

Una vez que tenemos el token JWT, podemos ejecutar el siguiente comando para realizar la conversión del archivo PDF que ya está disponible en el almacenamiento en la nube. El documento Word resultante se almacena en el almacenamiento en la nube.

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>"

Conclusión

En este artículo se han explicado los pasos para desarrollar un convertidor de PDF a Word con Aspose.PDF Cloud. Hemos explorado las opciones para convertir PDF a DOC mediante un fragmento de código de C#, así como para convertir PDF a Word mediante comandos cURL. Además de la conversión, también ofrece otras funciones interesantes, cuyos detalles se pueden encontrar en Funciones de Aspose.PDF Cloud.

Dado que nuestros SDK de la nube se desarrollan bajo la licencia MIT, su fragmento de código completo se puede descargar desde GitHub. En caso de que surja algún problema al usar la API o tenga alguna consulta relacionada, no dude en comunicarse a través del foro de soporte gratuito.

Artículos relacionados

También recomendamos visitar los siguientes enlaces para conocer más sobre: