Convertir gráficos complejos 3D de un libro de Excel a un archivo PDF portátil es una necesidad frecuente para la generación de informes y el intercambio de datos visuales. Aspose.Cells Cloud SDK for Java ofrece una poderosa biblioteca basada en la nube que simplifica esta tarea para desarrolladores Java. En esta guía recorremos todo el proceso de conversión de 3D a PDF en Java, desde la preparación del entorno hasta la obtención del documento final. Verás un recorrido detallado del código, un ejemplo completo y comandos cURL equivalentes para la integración de la API REST.
Configuración de Aspose.Cells Cloud SDK para Java
Antes de comenzar, asegúrese de tener lo siguiente:
- Java 17 o una versión más reciente instalada.
- Maven o Gradle para la gestión de dependencias.
- Una cuenta de Aspose Cloud con Client Id y Client Secret.
- Acceso a Internet para llamadas a la nube.
Agregue el SDK a su proyecto con la dependencia de Maven que se muestra a continuación y descargue el JAR más reciente desde la página oficial de descargas.
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells-cloud</artifactId>
<version>26.7</version>
</dependency>
También puedes obtener la biblioteca directamente desde la URL de descarga.
Configure el cliente con sus credenciales. Este fragmento se toma directamente del ejemplo completo.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default
Con la configuración establecida, estás listo para iniciar el flujo de trabajo de conversión.
Conversión de 3D a PDF en Java - Guía paso a paso
Paso 1: Cargar libro de Excel al almacenamiento en la nube
Primero, cargue el archivo XLSX que contiene los gráficos 3D. El FilesApi maneja la carga.
FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
System.err.println("Upload failed.");
return;
}
Paso 2: Preparar opciones de guardado PDF
Ajuste fino la salida PDF habilitando el almacenamiento en caché de fuentes, la compresión de imágenes y la optimización de memoria. Estas opciones ayudan a mantener el tamaño del PDF bajo mientras se preserva la calidad visual 3D.
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true);
pdfOptions.setCompressImages(true);
pdfOptions.setImageQuality(80);
pdfOptions.setEnableMemoryOptimization(true);
Paso 3: Convertir el libro de trabajo a PDF
Llame al método postWorkbookSaveAs de CellsApi para realizar la conversión. La referencia de API para este método está disponible en la Aspose.Cells API Reference.
WorkbookResponse convertResponse = cellsApi.postWorkbookSaveAs(
remoteInputName, // source workbook name
"pdf", // target format
remoteOutputName, // output path in cloud storage
pdfOptions, // save options
"", // folder (root)
null); // storage (default)
Paso 4: Descargar el PDF resultante
Después de una conversión exitosa, descargue los bytes del PDF y escríbalos en un archivo local.
byte[] pdfBytes = filesApi.downloadFile(remoteOutputName);
try (FileOutputStream fos = new FileOutputStream(new File(localOutputPath))) {
fos.write(pdfBytes);
}
System.out.println("Conversion completed successfully. PDF saved to " + localOutputPath);
Paso 5: Limpieza opcional
Elimine los archivos temporales del almacenamiento en la nube para mantener su cuenta ordenada.
filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);
Implementación completa en Java para la conversión de 3D a PDF - Ejemplo de código completo
El siguiente ejemplo muestra la conversión de extremo a extremo de un libro de Excel 3D a PDF usando Aspose.Cells Cloud SDK for Java.
import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.api.FilesApi;
import com.aspose.cloud.cells.client.ApiException;
import com.aspose.cloud.cells.client.Configuration;
import com.aspose.cloud.cells.model.PdfSaveOptions;
import com.aspose.cloud.cells.model.FilesUploadResult;
import com.aspose.cloud.cells.model.WorkbookResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class AsposeCells3DToPdfExample {
public static void main(String[] args) {
// -------------------- Configuration --------------------
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// Optional: config.setBasePath("https://api.aspose.cloud"); // default
// -------------------- API Instances --------------------
CellsApi cellsApi = new CellsApi(config);
FilesApi filesApi = new FilesApi(config);
// -------------------- Local & Remote Paths --------------------
String localInputPath = "input.xlsx"; // Excel file containing 3D charts
String remoteInputName = "input.xlsx"; // Name used in cloud storage
String remoteOutputName = "output.pdf"; // Desired PDF name in cloud storage
String localOutputPath = "output.pdf"; // Where to save the downloaded PDF
try {
// -------------------- Upload Excel to Cloud --------------------
FilesUploadResult uploadResult = filesApi.uploadFile("", new File(localInputPath));
if (uploadResult == null || uploadResult.getUploaded().isEmpty()) {
System.err.println("Upload failed.");
return;
}
// -------------------- Prepare PDF Save Options (Performance) --------------------
PdfSaveOptions pdfOptions = new PdfSaveOptions();
pdfOptions.setCacheFont(true); // Cache fonts for faster processing
pdfOptions.setCompressImages(true); // Compress images to reduce size
pdfOptions.setImageQuality(80); // Balance quality and size
pdfOptions.setEnableMemoryOptimization(true); // Reduce memory footprint
// -------------------- Convert Workbook to PDF --------------------
WorkbookResponse convertResponse = cellsApi.postWorkbookSaveAs(
remoteInputName, // source workbook name
"pdf", // target format
remoteOutputName, // output path in cloud storage
pdfOptions, // save options
"", // folder (root)
null // storage (default)
);
if (convertResponse == null || convertResponse.getCode() != 200) {
System.err.println("Conversion failed.");
return;
}
// -------------------- Download Resulting PDF --------------------
byte[] pdfBytes = filesApi.downloadFile(remoteOutputName);
try (FileOutputStream fos = new FileOutputStream(new File(localOutputPath))) {
fos.write(pdfBytes);
}
System.out.println("Conversion completed successfully. PDF saved to " + localOutputPath);
} catch (ApiException | IOException e) {
e.printStackTrace();
} finally {
// -------------------- Optional Cleanup --------------------
try {
filesApi.deleteFile(remoteInputName, null, null);
filesApi.deleteFile(remoteOutputName, null, null);
} catch (ApiException ignored) {
}
}
}
}
Nota: Este ejemplo de código muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de los archivos (
input.xlsx,output.pdf, etc.) para que coincidan con sus ubicaciones reales, verifique que todas las dependencias requeridas estén correctamente instaladas y realice pruebas exhaustivas en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.
Conversión de API REST mediante cURL usando Aspose.Cells Cloud
Si prefiere un enfoque independiente del lenguaje, la misma conversión se puede realizar con simples comandos cURL contra la API REST de Aspose.Cells Cloud.
1. Autenticar y obtener un token de acceso
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
La respuesta contiene un access_token que usarás en llamadas posteriores.
2. Cargue el archivo XLSX de origen
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/input.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@input.xlsx"
3. Convertir el libro de trabajo a PDF
curl -X POST "https://api.aspose.cloud/v3.0/cells/input.xlsx/saveAs/pdf?outputPath=output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"CacheFont": true,
"CompressImages": true,
"ImageQuality": 80,
"EnableMemoryOptimization": true
}'
4. Descargar el PDF generado
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Estos comandos realizan el mismo flujo de trabajo de conversión de 3D a PDF en Java sin escribir ningún código Java. Para obtener más detalles, consulte la documentación oficial de la API.
Conclusión
Siguiendo los pasos anteriores, puedes convertir de manera fiable los libros de Excel 3D en archivos PDF de alta calidad usando Aspose.Cells Cloud SDK for Java. La biblioteca se encarga del trabajo pesado de renderizar diagramas 3D, mientras que las opciones de guardado PDF te permiten controlar el tamaño y el rendimiento. Recuerda obtener una licencia adecuada para uso en producción; los detalles de precios están disponibles en la página del producto y se puede obtener una licencia temporal en la página de licencia temporal. Con este conocimiento, estás listo para integrar la conversión de 3D a PDF en tus aplicaciones Java y ofrecer informes pulidos a los usuarios finales.
Preguntas frecuentes
-
¿Cómo implemento la conversión de 3D a PDF en Java con Aspose.Cells?
Utilice el SDK para cargar su archivo XLSX, configurePdfSaveOptions, llame apostWorkbookSaveAsy descargue el PDF resultante. El ejemplo de código completo en este artículo muestra la secuencia exacta. -
¿Existe una forma de realizar la conversión de PDF de diagramas 3D en Java sin escribir código?
Sí, la API REST y los comandos cURL proporcionados le permiten lograr el mismo resultado desde cualquier plataforma que pueda realizar solicitudes HTTP. -
¿Cuál es la diferencia entre la conversión a PDF de visualización 3D y la conversión estándar de Excel a PDF?
Las visualizaciones 3D requieren un renderizado adicional de los objetos de gráfico, que el SDK maneja automáticamente. La conversión estándar puede omitir estos pasos de renderizado 3D, lo que provoca la ausencia de gráficos. -
¿Puedo usar el mismo flujo de trabajo para la conversión de Excel a PDF en Java de libros de trabajo que no son 3D?
Absolutamente. Las mismas llamadas a la API funcionan para cualquier archivo de Excel; simplemente omite o ajusta las opciones específicas de 3D si no son necesarias.