Working With Tables in PHP

Aspose.Words - Working WithTables

Auto Fit Tables

Php Code

public static function main() {
// The path to the documents directory.
$dataDir = "/usr/local/apache-tomcat-8.0.22/webapps/JavaBridge/Aspose.Words-for-Java_For_PHP/src/programmingwithdocuments/workingwithtables/data/";

// Demonstrate autofitting a table to the window.
AutoFitTables::autoFitTableToWindow($dataDir);

// Demonstrate autofitting a table to its contents.
AutoFitTables::autoFitTableToContents($dataDir);

// Demonstrate autofitting a table to fixed column widths.
AutoFitTables::autoFitTableToFixedColumnWidths($dataDir);
}
public static function autoFitTableToWindow($dataDir) {
//ExStart
//ExFor:Table.AutoFit
//ExFor:AutoFitBehavior
//ExId:FitTableToPageWidth
//ExSummary:Autofits a table to fit the page width.

// Open the document
$doc = new java("com.aspose.words.Document",$dataDir . "TestFile.doc");
$nodeType = java("com.aspose.words.NodeType");
$table = $doc->getChild($nodeType->TABLE, 0, true);

// Autofit the first table to the page width.
$autoFitBehavior = new Java("com.aspose.words.AutoFitBehavior");
$table->autoFit($autoFitBehavior->AUTO_FIT_TO_WINDOW);

// Save the document to disk.
$doc->save($dataDir . "TestFile.AutoFitToWindow Out.doc");
//ExEnd
$preferredWidthType = new Java("com.aspose.words.PreferredWidthType");
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getPreferredWidth()->getType()) == java_values($preferredWidthType->PERCENT)) {
echo "PreferredWidth type is not percent <br />";
}
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getPreferredWidth()->getValue()) == 100) {
echo "PreferredWidth value is different than 100 <br />";
}
}
public static function autoFitTableToContents($dataDir) {
//ExStart
//ExFor:Table.AutoFit
//ExFor:AutoFitBehavior
//ExId:FitTableToContents
//ExSummary:Autofits a table in the document to its contents.

// Open the document
$doc = new Java("com.aspose.words.Document", $dataDir . "TestFile.doc");
$nodeType = new Java("com.aspose.words.NodeType");
$table = $doc->getChild($nodeType->TABLE, 0, true);

// Auto fit the table to the cell contents
$autoFitBehavior = new Java("com.aspose.words.AutoFitBehavior");
$table->autoFit($autoFitBehavior->AUTO_FIT_TO_CONTENTS);

// Save the document to disk.
$doc->save($dataDir . "TestFile.AutoFitToContents Out.doc");
//ExEnd
$preferredWidthType = new Java("com.aspose.words.PreferredWidthType");
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getPreferredWidth()->getType()) == java_values($preferredWidthType->AUTO)) {
echo "PreferredWidth type is not auto <br />";
}
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getFirstRow()->getFirstCell()->getCellFormat()->getPreferredWidth()->getType()) == java_values($preferredWidthType->AUTO)) {
echo "PrefferedWidth on cell is not auto <br />";
}
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getFirstRow()->getFirstCell()->getCellFormat()->getPreferredWidth()->getValue()) == 0) {
echo "PreferredWidth value is not 0 <br />";
}
}
public static function autoFitTableToFixedColumnWidths($dataDir) {
//ExStart
//ExFor:Table.AutoFit
//ExFor:AutoFitBehavior
//ExId:DisableAutoFitAndUseFixedWidths
//ExSummary:Disables autofitting and enables fixed widths for the specified table.

// Open the document
$doc = new Java("com.aspose.words.Document", $dataDir . "TestFile.doc");
$nodeType = new Java("com.aspose.words.NodeType");
$table = $doc->getChild($nodeType->TABLE, 0, true);

// Disable autofitting on this table.
$autoFitBehavior = new Java("com.aspose.words.AutoFitBehavior");
$table->autoFit($autoFitBehavior->AUTO_FIT_TO_CONTENTS);

// Save the document to disk.
$doc->save($dataDir . "TestFile.FixedWidth Out.doc");
//ExEnd
$preferredWidthType = new Java("com.aspose.words.PreferredWidthType");
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getPreferredWidth()->getType()) == java_values($preferredWidthType->AUTO)) {
echo "PreferredWidth type is not auto <br />";
}
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getPreferredWidth()->getValue()) == 0) {
echo "PreferredWidth value is not 0 <br />";
}
if(java_values($doc->getFirstSection()->getBody()->getTables()->get(0)->getFirstRow()->getFirstCell()->getCellFormat()->getWidth()) == 0) {
echo "Cell width is not correct. <br />";
}
}

Download Running Code

Download Auto Fit Tables (Aspose.Words) from any of the below mentioned social coding sites: