Controlla il caricamento delle risorse esterne nella cartella di lavoro MS Excel durante il rendering su PDF

Possibili scenari di utilizzo

Il file Excel può contenere risorse esterne, ad esempio immagini o oggetti collegati. Quando converti il tuo file Excel in PDF, Aspose.Cells recupera queste risorse esterne e le rende in PDF. Ma a volte, non vuoi caricare queste risorse esterne e più di questo, vuoi manipolarle. Puoi farlo usandoPdfSaveOptions.StreamProviderche implementa ilIStreamProviderinterfaccia.

Controlla il caricamento delle risorse esterne nella cartella di lavoro MS Excel durante il rendering su PDF

Il seguente codice di esempio spiega come utilizzarePdfSaveOptions.StreamProviderper controllare il caricamento di risorse esterne e manipolarle. Si prega di controllareesempio di file Excelutilizzato all’interno del codice e iluscita PDFgenerato dal codice. Ilimmagine dello schermomostra come ilvecchia immagine esternanel file Excel di esempio è stato sostituito con anuova immaginein uscita PDF.

cose da fare:immagine_alt_testo

Codice d’esempio

// 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);
}