Controlar la carga de recursos externos en el libro de Excel de MS al renderizar a PDF

Escenarios de uso posibles

Su archivo de Excel puede contener recursos externos como imágenes vinculadas u objetos. Cuando convierte su archivo de Excel a PDF, Aspose.Cells recupera estos recursos externos y los renderiza a PDF. Pero a veces, no desea cargar estos recursos externos y, más que eso, desea manipularlos. Puede hacer esto usando PdfSaveOptions.StreamProvider que implementa la interfaz IStreamProvider.

Controlar la carga de recursos externos en el libro de Excel de MS al renderizar a PDF

El siguiente código de ejemplo explica cómo hacer uso de PdfSaveOptions.StreamProvider para controlar la carga de recursos externos y manipularlos. Por favor, revise el archivo de Excel de muestra utilizado dentro del código y el PDF de salida generado por el código. La captura de pantalla muestra cómo la imagen externa antigua en el archivo de Excel de muestra fue reemplazada por una nueva imagen en el PDF de salida.

todo:image_alt_text

Código de muestra

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Implement IStreamProvider
class MyStreamProvider implements IStreamProvider {
public void closeStream(StreamProviderOptions options) throws Exception {
System.out.println("-----Close Stream-----");
}
public void initStream(StreamProviderOptions options) throws Exception {
System.out.println("-----Init Stream-----");
// Read the new image in a memory stream and assign it to Stream property
File imgFile = new File( srcDir + "newPdfSaveOptions_StreamProvider.png");
byte[] bts = new byte[(int) imgFile.length()];
FileInputStream fin = new FileInputStream(imgFile);
fin.read(bts);
fin.close();
ByteArrayOutputStream baout = new ByteArrayOutputStream();
baout.write(bts);
baout.close();
options.setStream(baout);
}
}//MyStreamProvider
// ------------------------------------------------
// ------------------------------------------------
void Run() throws Exception {
// Load source Excel file containing external image
Workbook wb = new Workbook(srcDir + "samplePdfSaveOptions_StreamProvider.xlsx");
// Specify Pdf Save Options - Stream Provider
PdfSaveOptions opts = new PdfSaveOptions();
opts.setOnePagePerSheet(true);
opts.setStreamProvider(new MyStreamProvider());
// Save the workbook to Pdf
wb.save(outDir + "outputPdfSaveOptions_StreamProvider.pdf", opts);
}