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 usandoWorkbookSettings.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 utilizzareWorkbookSettings.StreamProvider per controllare il caricamento di risorse esterne e manipolarle. Si prega di controllareesempio di file Excel utilizzato all’interno del codice e iluscita PDF generato dal codice. Ilimmagine dello schermo mostra come ilvecchia immagine esterna nel file Excel di esempio è stato sostituito con anuova immagine in uscita PDF.
Codice d’esempio
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Implement IStreamProvider | |
class MyStreamProvider : IStreamProvider | |
{ | |
public void CloseStream(StreamProviderOptions options) | |
{ | |
System.Diagnostics.Debug.WriteLine("-----Close Stream-----"); | |
} | |
public void InitStream(StreamProviderOptions options) | |
{ | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
System.Diagnostics.Debug.WriteLine("-----Init Stream-----"); | |
//Read the new image in a memory stream and assign it to Stream property | |
byte[] bts = File.ReadAllBytes(sourceDir + "newPdfSaveOptions_StreamProvider.png"); | |
MemoryStream ms = new MemoryStream(bts); | |
options.Stream = ms; | |
} | |
} | |
public static void Run() | |
{ | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
//Load source Excel file containing external image | |
Workbook wb = new Workbook(sourceDir + "samplePdfSaveOptions_StreamProvider.xlsx"); | |
//Specify Pdf Save Options - Stream Provider | |
PdfSaveOptions opts = new PdfSaveOptions(); | |
opts.OnePagePerSheet = true; | |
wb.Settings.ResourceProvider = new MyStreamProvider(); | |
//Save the workbook to Pdf | |
wb.Save(outputDir + "outputPdfSaveOptions_StreamProvider.pdf", opts); | |
Console.WriteLine("ControlLoadingOfExternalResourcesInExcelToPDF executed successfully.\r\n"); | |
} |