Word a PDF

Cómo convertir Word a PDF en línea

Los archivos de MS Word, incluidos DOC, DOCX, DOCM, DOTX, ODT, OTT, etc., son algunos de los formatos de archivo más populares para almacenar información y compartir datos. Muchas universidades, organismos gubernamentales u organizaciones públicas producen sus archivos en formato Word, pero debido a la variedad de formatos, el diseño del contenido de estos archivos se ve comprometido cuando se visualizan en varias plataformas. Por lo tanto, una solución viable es la conversión a un formato fijo que preserve la estructura y la fidelidad del documento en cualquier plataforma.

En este artículo, analizaremos la conversión de Word al formato PDF utilizando la API REST .NET.

API de conversión de Word a PDF

Aspose.Words Cloud es una increíble API basada en REST que brinda la facilidad de crear, editar y convertir documentos de Word a otros formatos de archivo compatibles en cualquier plataforma. Según el alcance del artículo, vamos a utilizar Aspose.Words Cloud SDK para .NET para la conversión de Word a PDF.

Instalación

Ejecute el siguiente comando en la terminal de la línea de comandos para instalar el SDK.

nuget install Aspose.Words-Cloud

Para instalar el SDK desde el administrador de paquetes NuGet, siga los pasos que se especifican a continuación:

  • Expanda el explorador de soluciones y haga clic derecho en la carpeta Paquetes.
  • Introduzca Aspose.Words-Cloud en el campo de búsqueda.
  • Ahora habilite la casilla de verificación cerca de Aspose.Words-Cloud en los resultados de búsqueda y haga clic en el botón Agregar paquete.
  • El SDK al que se hace referencia se agrega al proyecto.

También necesitamos crear una cuenta gratuita visitando Aspose.Cloud dashboard donde podemos iniciar sesión con nuestra cuenta de GitHub o Google existente o podemos crear una nueva cuenta. Simplemente desplácese hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID y Secreto del cliente.

Cómo convertir Word a PDF en C#

Siga los pasos que se especifican a continuación para realizar la conversión de Word a PDF mediante el código C# .NET en Visual Studio. En este escenario, el archivo Word de entrada ya está disponible en el almacenamiento en la nube y el PDF resultante también se almacena en el almacenamiento en la nube.

  • Cree una instancia de la clase Configuración que tome los detalles de ID de cliente y Secreto de cliente como argumentos.
  • En segundo lugar, cree una instancia de la clase WordsApi y proporcione una instancia de configuración como argumento.
  • En tercer lugar, cargue el archivo desde el sistema local al almacenamiento en la nube utilizando el método UploadFileRequest(..).
  • El siguiente paso es crear un objeto de SaveOptionsData que define las propiedades del archivo resultante. Con este objeto, definimos SaveFormat como Pdf y el valor de ZipOutput se especifica como falso para que la salida no esté en el archivo .zip ni en otras propiedades.
  • Ahora cree una instancia de SaveAsRequest que tome el nombre del archivo de entrada y los objetos SaveOptionsData como argumentos.
  • Por último, llame al método SaveAs(…) de la clase WordApi que toma la instancia SaveAsrequest como argumento.
// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// Cree una instancia de configuración pasando el ID del cliente y los detalles secretos del cliente
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// crear objeto WordsApi
var wordsApi = new WordsApi(config);

// documento de Word de entrada
string fileName = "test_multi_pages.doc";

// cargar archivo desde el sistema local
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // Subir documento original al almacenamiento en la nube
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// crear objeto SaveOptionsData
SaveOptionsData saveOptionsData = new SaveOptionsData()
{
    SaveFormat = "pdf",
    FileName = "myResultant.pdf",
    AllowEmbeddingPostScriptFonts = true,
    ZipOutput = false,
    UpdateLastSavedTimeProperty = true,
    UpdateSdtContent = true,
    UpdateCreatedTimeProperty = true,
    UpdateLastPrintedProperty = true
};
            
try
{
    // Cree SaveAsRequest pasando el archivo de entrada Word y saveOptionsData
    SaveAsRequest request = new SaveAsRequest(fileName, saveOptionsData);
    
    // Inicializar la operación de conversión de Word a PDF
    var output = wordsApi.SaveAs(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 
Vista previa de Word a PDF

Imagen 5: Vista previa de conversión de Word a PDF.

El archivo de muestra utilizado en el ejemplo anterior se puede descargar desde testmultipages.doc.

Convertir DOC a PDF en C#

En este escenario, vamos a convertir el archivo DOC cargado desde el almacenamiento local y convertir el resultado al formato PDF. El archivo resultante también se almacena en el almacenamiento en la nube.

  • En primer lugar, cree una instancia de la clase Configuración que tome los detalles de ID de cliente y Secreto de cliente como argumentos.
  • En segundo lugar, cree una instancia de la clase WordsApi y proporcione una instancia de configuración como argumento.
  • En tercer lugar, cree un objeto de la clase ConvertDocumentRequest que tome el flujo de archivo local, el formato de salida y el nombre del archivo resultante como argumentos.
  • Por último, llame al método ConvertDocument(..) para realizar la operación de conversión.
// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// Cree una instancia de configuración pasando el ID del cliente y los detalles secretos del cliente
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// crear objeto WordsApi
var wordsApi = new WordsApi(config);

// archivo de palabra de entrada
string fileName = "test_multi_pages.doc";

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

try
{
    // Cargue el archivo de Word desde el almacenamiento local y especifique el formato de salida
    ConvertDocumentRequest request = new ConvertDocumentRequest(System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName),"pdf",outputfile);
    
    // realizar operación de conversión
    var output = wordsApi.ConvertDocument(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

Conversión de DOCX a PDF en C#

Analicemos el escenario en el que se convierte un archivo DOCX disponible en el almacenamiento en la nube y también se guarda el archivo PDF resultante en el almacenamiento en la nube. En este escenario, vamos a utilizar el método de solicitud HTTP GET.

  • En primer lugar, cree una instancia de la clase Configuración que tome los detalles de ID de cliente y Secreto de cliente como argumentos.
  • En segundo lugar, cree una instancia de la clase WordsApi y proporcione una instancia de configuración como argumento.
  • El siguiente paso es cargar el archivo desde la unidad local al almacenamiento en la nube utilizando el método UploadFileRequest(…) de WordsApi.
  • Penúltimo, crea un objeto de la clase GetDocumentWithFormatRequest que tome el nombre del archivo DOCX, el formato de salida y el nombre del archivo resultante como argumentos.
  • Por último, llame al método GetDocumentWithFormat(…) para realizar la conversión.
// Obtenga las credenciales del cliente desde https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// Cree una instancia de configuración pasando el ID del cliente y los detalles secretos del cliente
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// crear objeto WordsApi
var wordsApi = new WordsApi(config);

// archivo docx de entrada
string fileName = "file-sample_1MB.docx";

// formato de salida como PDF
string format = "pdf";

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

// cargar el contenido del archivo DOCX desde la unidad local
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // Subir documento original al almacenamiento en la nube
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// Sube el archivo al almacenamiento en la nube            
try
{
    GetDocumentWithFormatRequest request = new GetDocumentWithFormatRequest(fileName,format,null,null,null,null,outputfile);
    wordsApi.GetDocumentWithFormat(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 

Puede considerar descargar los archivos de recursos utilizados en el ejemplo anterior desde file-sample1MB.docx y result.pdf.

Vista previa de conversión de docx a pdf

Imagen 6: Vista previa de conversión de DOCX a PDF.

Word a PDF con el comando cURL

En esta sección, accederemos a la API de Cloud a través de comandos cURL. Por lo tanto, el primer paso es generar un token de acceso JWT basado en los detalles del ID de cliente y el secreto de cliente.

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"

Ahora ejecute el siguiente comando para cargar el archivo al almacenamiento en la nube.

curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/file-sample_1MB.docx" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"fileContent":{}}

Por último, utilice la API GetDocumentWithFormat para realizar la conversión de DOCX a PDF.

curl -X GET "https://api.aspose.cloud/v4.0/words/file-sample_1MB.docx?format=pdf&outPath=myOutput.pdf" \
-H  "accept: application/octet-stream" \
-H  "Authorization: Bearer <JWT Token>

Conclusión

Hemos analizado algunas de las increíbles funciones de conversión de Word a formato PDF con Aspose.Words Cloud. La conversión se puede realizar mediante el código .NET o mediante el comando cURL. Además, también puede explorar la API a través de Swagger UI en su navegador.

Tenga en cuenta que el código fuente completo del SDK está disponible para descargar en GitHub y en caso de que encuentre algún problema al usar la API, no dude en contactarnos a través del Foro de soporte de productos gratuito.

Artículos relacionados

Le recomendamos visitar los siguientes enlaces para obtener más información sobre: