public interface ICssSavingCallback
Example:
public void cssSavingCallback() throws Exception {
// Open a document to be converted to html
Document doc = new Document(getMyDir() + "Rendering.doc");
// If our output document will produce a CSS stylesheet, we can use an HtmlSaveOptions to control where it is saved
HtmlSaveOptions options = new HtmlSaveOptions();
// By default, a CSS stylesheet is stored inside its HTML document, but we can have it saved to a separate file
options.setCssStyleSheetType(CssStyleSheetType.EXTERNAL);
// We can designate a filename for our stylesheet like this
options.setCssStyleSheetFileName(getArtifactsDir() + "Rendering.CssSavingCallback.css");
// A custom ICssSavingCallback implementation can also control where that stylesheet will be saved and linked to by the Html document
// This callback will override the filename we specified above in options.CssStyleSheetFileName,
// but will give us more control over the saving process
options.setCssSavingCallback(new CustomCssSavingCallback(getArtifactsDir() + "Rendering.CssSavingCallback.css", true, false));
// The CssSaving() method of our callback will be called at this stage
doc.save(getArtifactsDir() + "Rendering.CssSavingCallback.html", options);
}
/// <summary>
/// Designates a filename and other parameters for the saving of a CSS stylesheet
/// </summary>
private static class CustomCssSavingCallback implements ICssSavingCallback {
public CustomCssSavingCallback(String cssDocFilename, boolean isExportNeeded, boolean keepCssStreamOpen) {
mCssTextFileName = cssDocFilename;
mIsExportNeeded = isExportNeeded;
mKeepCssStreamOpen = keepCssStreamOpen;
}
public void cssSaving(CssSavingArgs args) throws Exception {
Assert.assertNull(args.getCssStream());
// Set up the stream that will create the CSS document
args.setCssStream(new FileOutputStream(mCssTextFileName));
Assert.assertNotNull(args.getCssStream());
args.isExportNeeded(mIsExportNeeded);
args.setKeepCssStreamOpen(mKeepCssStreamOpen);
// We can also access the original document here like this
Assert.assertTrue(args.getDocument().getOriginalFileName().endsWith("Rendering.doc"));
}
private String mCssTextFileName;
private boolean mIsExportNeeded;
private boolean mKeepCssStreamOpen;
}
Method Summary | ||
---|---|---|
abstract void | cssSaving(CssSavingArgs args) | |
Called when Aspose.Words saves an CSS (Cascading Style Sheet). |
Method Detail |
---|
cssSaving | |
public abstract void cssSaving(CssSavingArgs args) throws java.lang.Exception |
Example:
Shows how to work with CSS stylesheets that may be created along with Html documents.public void cssSavingCallback() throws Exception { // Open a document to be converted to html Document doc = new Document(getMyDir() + "Rendering.doc"); // If our output document will produce a CSS stylesheet, we can use an HtmlSaveOptions to control where it is saved HtmlSaveOptions options = new HtmlSaveOptions(); // By default, a CSS stylesheet is stored inside its HTML document, but we can have it saved to a separate file options.setCssStyleSheetType(CssStyleSheetType.EXTERNAL); // We can designate a filename for our stylesheet like this options.setCssStyleSheetFileName(getArtifactsDir() + "Rendering.CssSavingCallback.css"); // A custom ICssSavingCallback implementation can also control where that stylesheet will be saved and linked to by the Html document // This callback will override the filename we specified above in options.CssStyleSheetFileName, // but will give us more control over the saving process options.setCssSavingCallback(new CustomCssSavingCallback(getArtifactsDir() + "Rendering.CssSavingCallback.css", true, false)); // The CssSaving() method of our callback will be called at this stage doc.save(getArtifactsDir() + "Rendering.CssSavingCallback.html", options); } /// <summary> /// Designates a filename and other parameters for the saving of a CSS stylesheet /// </summary> private static class CustomCssSavingCallback implements ICssSavingCallback { public CustomCssSavingCallback(String cssDocFilename, boolean isExportNeeded, boolean keepCssStreamOpen) { mCssTextFileName = cssDocFilename; mIsExportNeeded = isExportNeeded; mKeepCssStreamOpen = keepCssStreamOpen; } public void cssSaving(CssSavingArgs args) throws Exception { Assert.assertNull(args.getCssStream()); // Set up the stream that will create the CSS document args.setCssStream(new FileOutputStream(mCssTextFileName)); Assert.assertNotNull(args.getCssStream()); args.isExportNeeded(mIsExportNeeded); args.setKeepCssStreamOpen(mKeepCssStreamOpen); // We can also access the original document here like this Assert.assertTrue(args.getDocument().getOriginalFileName().endsWith("Rendering.doc")); } private String mCssTextFileName; private boolean mIsExportNeeded; private boolean mKeepCssStreamOpen; }