Kontrollera laddningen av externa resurser i MS Excel Workbook under rendering till PDF
Contents
[
Hide
]
Möjliga användningsscenarier
Din Excel-fil kan innehålla externa resurser, t.ex. länkade bilder eller objekt. När du konverterar din Excel-fil till PDF, hämtar Aspose.Cells dessa externa resurser och renderar dem till PDF. Men ibland vill du inte ladda dessa externa resurser och mer än så vill du manipulera dem. Du kan göra detta med hjälp avWorkbookSettings.StreamProvidersom implementerarIStreamProvidergränssnitt.
Kontrollera laddningen av externa resurser i MS Excel Workbook under rendering till PDF
Följande exempelkod förklarar hur du använderWorkbookSettings.StreamProvider att kontrollera belastningen av externa resurser och manipulera dem. Vänligen kontrolleraexempel på Excel-fil används i koden ochutgång PDF genereras av koden. Deskärmdump visar hurgammal extern bild i exemplet Excel-filen ersattes med enny bild i utgången PDF.
Exempelkod
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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"); | |
} |