public interface IResourceSavingCallback
Example:
Shows how used target machine fonts to display the document.public void usingMachineFonts() throws Exception { Document doc = new Document(getMyDir() + "Bullet points with alternative font.docx"); HtmlFixedSaveOptions saveOptions = new HtmlFixedSaveOptions(); { saveOptions.setExportEmbeddedCss(true); saveOptions.setUseTargetMachineFonts(true); saveOptions.setFontFormat(ExportFontFormat.TTF); saveOptions.setExportEmbeddedFonts(false); saveOptions.setResourceSavingCallback(new ResourceSavingCallback()); } doc.save(getArtifactsDir() + "HtmlFixedSaveOptions.UsingMachineFonts.html", saveOptions); String outDocContents = FileUtils.readFileToString(new File(getArtifactsDir() + "HtmlFixedSaveOptions.UsingMachineFonts.html"), "utf-8"); if (saveOptions.getUseTargetMachineFonts()) Assert.assertFalse(outDocContents.matches("@font-face")); else Assert.assertTrue(outDocContents.matches("@font-face * font-family:'Arial'; font-style:normal; font-weight:normal; src:local[(]'☺'[)], " + "url[(]'HtmlFixedSaveOptions.UsingMachineFonts/font001.ttf'[)] format[(]'truetype'[)]; }")); } private static class ResourceSavingCallback implements IResourceSavingCallback { /** * Called when Aspose.Words saves an external resource to fixed page HTML or SVG. */ public void resourceSaving(final ResourceSavingArgs args) { System.out.println(MessageFormat.format("Original document URI:\t{0}", args.getDocument().getOriginalFileName())); System.out.println(MessageFormat.format("Resource being saved:\t{0}", args.getResourceFileName())); System.out.println(MessageFormat.format("Full uri after saving:\t{0}", args.getResourceFileUri())); args.setResourceStream(new ByteArrayOutputStream()); args.setKeepResourceStreamOpen(true); String extension = FilenameUtils.getExtension(args.getResourceFileName()); switch (extension) { case "ttf": case "woff": Assert.fail("'ResourceSavingCallback' is not fired for fonts when 'UseTargetMachineFonts' is true"); break; } } }
Method Summary | ||
---|---|---|
abstract void | resourceSaving(ResourceSavingArgs args) | |
Called when Aspose.Words saves an external resource to fixed page HTML or SVG formats.
|
public abstract void resourceSaving(ResourceSavingArgs args) throws java.lang.Exception
Example:
Shows how used target machine fonts to display the document.public void usingMachineFonts() throws Exception { Document doc = new Document(getMyDir() + "Bullet points with alternative font.docx"); HtmlFixedSaveOptions saveOptions = new HtmlFixedSaveOptions(); { saveOptions.setExportEmbeddedCss(true); saveOptions.setUseTargetMachineFonts(true); saveOptions.setFontFormat(ExportFontFormat.TTF); saveOptions.setExportEmbeddedFonts(false); saveOptions.setResourceSavingCallback(new ResourceSavingCallback()); } doc.save(getArtifactsDir() + "HtmlFixedSaveOptions.UsingMachineFonts.html", saveOptions); String outDocContents = FileUtils.readFileToString(new File(getArtifactsDir() + "HtmlFixedSaveOptions.UsingMachineFonts.html"), "utf-8"); if (saveOptions.getUseTargetMachineFonts()) Assert.assertFalse(outDocContents.matches("@font-face")); else Assert.assertTrue(outDocContents.matches("@font-face * font-family:'Arial'; font-style:normal; font-weight:normal; src:local[(]'☺'[)], " + "url[(]'HtmlFixedSaveOptions.UsingMachineFonts/font001.ttf'[)] format[(]'truetype'[)]; }")); } private static class ResourceSavingCallback implements IResourceSavingCallback { /** * Called when Aspose.Words saves an external resource to fixed page HTML or SVG. */ public void resourceSaving(final ResourceSavingArgs args) { System.out.println(MessageFormat.format("Original document URI:\t{0}", args.getDocument().getOriginalFileName())); System.out.println(MessageFormat.format("Resource being saved:\t{0}", args.getResourceFileName())); System.out.println(MessageFormat.format("Full uri after saving:\t{0}", args.getResourceFileUri())); args.setResourceStream(new ByteArrayOutputStream()); args.setKeepResourceStreamOpen(true); String extension = FilenameUtils.getExtension(args.getResourceFileName()); switch (extension) { case "ttf": case "woff": Assert.fail("'ResourceSavingCallback' is not fired for fonts when 'UseTargetMachineFonts' is true"); break; } } }