So implementieren Sie Ressourcenpräfix für verschachtelte Ressourcen
In diesem Artikel wird angezeigt, wie das Präfix für verschachtelte Ressourcen mithilfe der Aspose.Tasks für Java -API hinzugefügt wird.
Ressourcenpräfix für verschachtelte Ressourcen Aspose.Tasks FÜR JAVA bietet RessourcenAVavingArgs.nesturi -Eigentum an, mit denen verschachtelte Ressourcen (z. B. PNG in SVG -Dateien) im separaten Ordner gespeichert werden können.
1public class ResourcePrefixForNestedResources implements IFontSavingCallback, ICssSavingCallback, IImageSavingCallback {
2
3 public static String dataDir = Utils.getDataDir(ResourcePrefixForNestedResources.class);
4
5 public static void main(String[] args) throws IOException {
6 FileInputStream fs = new FileInputStream(dataDir + "Project1.mpp");
7 Project project = new Project(fs);
8 HtmlSaveOptions options = GetSaveOptions(1);
9 FileOutputStream stream = new FileOutputStream(dataDir + "document.html");
10 project.save(stream, options);
11 }
12
13 public void cssSaving(CssSavingArgs args) {
14 FileOutputStream stream;
15 try {
16 stream = new FileOutputStream(dataDir + "css/" + args.getFileName());
17 args.setStream(stream);
18 args.setKeepStreamOpen(false);
19 args.setUri(dataDir + "css/" + args.getFileName());
20 } catch (FileNotFoundException e) {
21 e.printStackTrace();
22 }
23 }
24
25 public void fontSaving(FontSavingArgs args) {
26 FileOutputStream stream;
27 try {
28 stream = new FileOutputStream(dataDir + "fonts/" + args.getFileName());
29 args.setStream(stream);
30 args.setKeepStreamOpen(false);
31 args.setUri(dataDir + "fonts/" + args.getFileName());
32 } catch (FileNotFoundException e) {
33 e.printStackTrace();
34 }
35 }
36
37 public void imageSaving(ImageSavingArgs args) {
38 if (args.getFileName().endsWith("png")) {
39 FileOutputStream stream1;
40 try {
41 stream1 = new FileOutputStream(dataDir + "resources/nestedResources/" + args.getFileName());
42 args.setStream(stream1);
43 args.setKeepStreamOpen(false);
44 args.setUri(dataDir + "resources/" + args.getFileName());
45 args.setNestedUri(dataDir + "nestedResources/" + args.getFileName());
46 } catch (FileNotFoundException e) {
47 e.printStackTrace();
48 }
49 } else {
50 FileOutputStream stream2;
51 try {
52 stream2 = new FileOutputStream(dataDir + "resources/" + args.getFileName());
53 args.setStream(stream2);
54 args.setKeepStreamOpen(false);
55 args.setUri(dataDir + "resources/" + args.getFileName());
56 } catch (FileNotFoundException e) {
57 e.printStackTrace();
58 }
59 }
60 }
61
62 private static HtmlSaveOptions GetSaveOptions(int pageNumber) {
63 HtmlSaveOptions saveOptions = new HtmlSaveOptions();
64 saveOptions.setIncludeProjectNameInPageHeader(false);
65 saveOptions.setIncludeProjectNameInTitle(false);
66 saveOptions.setPageSize(PageSize.A3);
67 saveOptions.setTimescale(Timescale.ThirdsOfMonths);
68 saveOptions.setReduceFooterGap(true);
69 saveOptions.setFontFaceTypes(FontFaceType.Ttf);
70 saveOptions.setExportCss(ResourceExportType.AsFile);
71 saveOptions.setExportFonts(ResourceExportType.AsFile);
72 saveOptions.setExportImages(ResourceExportType.AsFile);
73
74 ResourcePrefixForNestedResources program = new ResourcePrefixForNestedResources();
75 saveOptions.setFontSavingCallback(program);
76 saveOptions.setCssSavingCallback(program);
77 saveOptions.setImageSavingCallback(program);
78
79 saveOptions.getPages().clear();
80 saveOptions.getPages().add(pageNumber);
81
82 File dirFonts = new File(dataDir + "fonts");
83 if (!dirFonts.exists()) {
84 dirFonts.mkdir();
85 }
86
87 File dirResources = new File(dataDir + "resources");
88 if (!dirResources.exists()) {
89 dirResources.mkdir();
90 }
91
92 File dirNResources = new File(dataDir + "nestedResources");
93 if (!dirNResources.exists()) {
94 dirNResources.mkdir();
95 }
96
97 File dirCSS = new File(dataDir + "css");
98 if (!dirCSS.exists()) {
99 dirCSS.mkdir();
100 }
101
102 return saveOptions;
103 }
104
105}