com.aspose.words

Class HtmlElementSizeOutputMode

  • java.lang.Object
    • com.aspose.words.HtmlElementSizeOutputMode
public class HtmlElementSizeOutputMode 
extends java.lang.Object

Utility class containing constants. Specifies how Aspose.Words exports element widths and heights to HTML, MHTML and EPUB.

Example:

Shows how to preserve negative indents in the output .html.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Insert a table with a negative indent, which will push it to the left past the left page boundary.
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, Cell 1");
builder.insertCell();
builder.write("Row 1, Cell 2");
builder.endTable();
table.setLeftIndent(-36);
table.setPreferredWidth(PreferredWidth.fromPoints(144.0));

builder.insertBreak(BreakType.PARAGRAPH_BREAK);

// Insert a table with a positive indent, which will push the table to the right.
table = builder.startTable();
builder.insertCell();
builder.write("Row 1, Cell 1");
builder.insertCell();
builder.write("Row 1, Cell 2");
builder.endTable();
table.setLeftIndent(36.0);
table.setPreferredWidth(PreferredWidth.fromPoints(144.0));

// When we save a document to HTML, Aspose.Words will only preserve negative indents
// such as the one we have applied to the first table if we set the "AllowNegativeIndent" flag
// in a SaveOptions object that we will pass to "true".
HtmlSaveOptions options = new HtmlSaveOptions(SaveFormat.HTML);
{
    options.setAllowNegativeIndent(allowNegativeIndent);
    options.setTableWidthOutputMode(HtmlElementSizeOutputMode.RELATIVE_ONLY);
}

doc.save(getArtifactsDir() + "HtmlSaveOptions.NegativeIndent.html", options);

String outDocContents = FileUtils.readFileToString(new File(getArtifactsDir() + "HtmlSaveOptions.NegativeIndent.html"), StandardCharsets.UTF_8);

if (allowNegativeIndent) {
    Assert.assertTrue(outDocContents.contains(
            "<table cellspacing=\"0\" cellpadding=\"0\" style=\"margin-left:-41.65pt; border:0.75pt solid #000000; -aw-border:0.5pt single; border-collapse:collapse\">"));
    Assert.assertTrue(outDocContents.contains(
            "<table cellspacing=\"0\" cellpadding=\"0\" style=\"margin-left:30.35pt; border:0.75pt solid #000000; -aw-border:0.5pt single; border-collapse:collapse\">"));
} else {
    Assert.assertTrue(outDocContents.contains(
            "<table cellspacing=\"0\" cellpadding=\"0\" style=\"border:0.75pt solid #000000; -aw-border:0.5pt single; border-collapse:collapse\">"));
    Assert.assertTrue(outDocContents.contains(
            "<table cellspacing=\"0\" cellpadding=\"0\" style=\"margin-left:30.35pt; border:0.75pt solid #000000; -aw-border:0.5pt single; border-collapse:collapse\">"));
}
See Also:
HtmlSaveOptions.TableWidthOutputMode

Field Summary
static final intALL = 0
All element sizes, both in absolute and relative units, specified in the document are exported.
static final intRELATIVE_ONLY = 1
Element sizes are exported only if they are specified in relative units in the document. Fixed sizes are not exported in this mode. Visual agents will calculate missing sizes to make document layout more natural.
static final intNONE = 2
Element sizes are not exported. Visual agents will build layout automatically according to relationship between elements.
 

    • Field Detail

      • ALL = 0

        public static final int ALL
        All element sizes, both in absolute and relative units, specified in the document are exported.
      • RELATIVE_ONLY = 1

        public static final int RELATIVE_ONLY
        Element sizes are exported only if they are specified in relative units in the document. Fixed sizes are not exported in this mode. Visual agents will calculate missing sizes to make document layout more natural.
      • NONE = 2

        public static final int NONE
        Element sizes are not exported. Visual agents will build layout automatically according to relationship between elements.