com.aspose.words
Class MergeFieldImageDimensionUnit
java.lang.Object
com.aspose.words.MergeFieldImageDimensionUnit
public class MergeFieldImageDimensionUnit
- extends java.lang.Object
Utility class containing constants.
Specifies an unit of an image dimension (i.e. the width or the height) used across a mail merge process.
Example:
Shows how to set the dimensions of merged images.
@Test
public void mergeFieldImageDimension() throws Exception {
Document doc = new Document();
// Insert a merge field where images will be placed during the mail merge
DocumentBuilder builder = new DocumentBuilder(doc);
builder.insertField("MERGEFIELD Image:ImageColumn");
// Create a data table for the mail merge
// The name of the column that contains our image filenames needs to match the name of our merge field
DataTable dataTable = createDataTable("Images", "ImageColumn",
new String[]
{
getImageDir() + "Aspose.Words.gif",
getImageDir() + "Watermark.png",
getImageDir() + "dotnet-logo.png"
});
doc.getMailMerge().setFieldMergingCallback(new MergedImageResizer(450.0, 200.0, MergeFieldImageDimensionUnit.POINT));
doc.getMailMerge().execute(dataTable);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.MergeFieldImageDimension.docx");
}
/// <summary>
/// Creates a data table with a single column
/// </summary>
private DataTable createDataTable(final String tableName, final String columnName, final String[] columnContents) {
DataTable dataTable = new DataTable(tableName);
dataTable.getColumns().add(new DataColumn(columnName));
for (String s : columnContents) {
DataRow dataRow = dataTable.newRow();
dataRow.set(0, s);
dataTable.getRows().add(dataRow);
}
return dataTable;
}
/// <summary>
/// Sets the size of all mail merged images to one defined width and height
/// </summary>
private static class MergedImageResizer implements IFieldMergingCallback {
public MergedImageResizer(final double imageWidth, final double imageHeight, final int unit) {
mImageWidth = imageWidth;
mImageHeight = imageHeight;
mUnit = unit;
}
public void fieldMerging(final FieldMergingArgs args) {
throw new UnsupportedOperationException();
}
public void imageFieldMerging(final ImageFieldMergingArgs args) {
args.setImageFileName(args.getFieldValue().toString());
args.setImageWidth(new MergeFieldImageDimension(mImageWidth, mUnit));
args.setImageHeight(new MergeFieldImageDimension(mImageHeight, mUnit));
Assert.assertEquals(mImageWidth, args.getImageWidth().getValue());
Assert.assertEquals(mUnit, args.getImageWidth().getUnit());
Assert.assertEquals(mImageHeight, args.getImageHeight().getValue());
Assert.assertEquals(mUnit, args.getImageHeight().getUnit());
}
private double mImageWidth;
private double mImageHeight;
private int mUnit;
}
Field Summary |
static final int | POINT = 0 | |
The point (i.e. 1/72 inch).
|
static final int | PERCENT = 1 | |
The percent of the original image dimension value.
|
POINT = 0 | |
public static final int POINT |
-
The point (i.e. 1/72 inch).
PERCENT = 1 | |
public static final int PERCENT |
-
The percent of the original image dimension value.
See Also:
Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
Aspose.Words Support Forum - our preferred method of support.