السيطرة على تحميل الموارد الخارجية في سجل Excel لتحويلها إلى ملف PDF

سيناريوهات الاستخدام المحتملة

قد يحتوي ملف Excel الخاص بك على موارد خارجية مثل الصور أو الأشياء المرتبطة. عند تحويل ملف Excel الخاص بك إلى PDF، يقوم Aspose.Cells بإسترداد هذه الموارد الخارجية وتقديمها إلى PDF. ولكن في بعض الأحيان، قد لا ترغب في تحميل هذه الموارد الخارجية وبالمزيد من ذلك، قد ترغب في معالجتها. يمكنك القيام بذلك باستخدام PdfSaveOptions.StreamProvider الذي ينفذ واجهة IStreamProvider.

التحكم في تحميل الموارد الخارجية في دفتر العمل في MS Excel أثناء تحويله إلى PDF

يشرح الرمز البرمجي عينة التالي كيفية الاستفادة من PdfSaveOptions.StreamProvider للتحكم في تحميل الموارد الخارجية ومعالجتها. يرجى التحقق من ملف الإكسل العيني المستخدم داخل الرمز البرمجي وال PDF الناتج الذي تم إنشاؤه بواسطة الرمز. لقطة الشاشة تظهر كيف تم استبدال الصورة الخارجية القديمة في ملف الإكسل العيني ب صورة جديدة في PDF الناتج.

todo:image_alt_text

الكود المثالي

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