Controlla il caricamento di Risorse Esterne nel Lavoro MS Excel mentre viene convertito in PDF
Possibili Scenari di Utilizzo
Il tuo file Excel può contenere risorse esterne come ad esempio immagini o oggetti collegati. Quando converti il tuo file Excel in PDF, Aspose.Cells recupera queste risorse esterne e le renderizza in PDF. Ma a volte, non vuoi caricare queste risorse esterne e, ancor di più, vuoi manipolarle. Puoi farlo usando PdfSaveOptions.StreamProvider che implementa l’interfaccia IStreamProvider.
Controlla il caricamento di Risorse Esterne nel Lavoro MS Excel mentre viene convertito in PDF
Il seguente esempio di codice spiega come fare uso di PdfSaveOptions.StreamProvider per controllare il caricamento delle risorse esterne e manipolarle. Si prega di controllare il file di Excel di esempio utilizzato all’interno del codice e il file PDF di output generato dal codice. La schermata mostra come la vecchia immagine esterna nel file di Excel di esempio sia stata sostituita con una nuova immagine nel file PDF di output.
Codice di 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); | |
} |