public static function update() { // The path to the documents directory. $dataDir = "/usr/local/apache-tomcat-8.0.22/webapps/JavaBridge/Aspose_Words_Java_For_PHP/src/quickstart/updatefields/data/"; // Demonstrates how to insert fields and update them using Aspose.Words. // First create a blank document. $doc = new Java("com.aspose.words.Document"); // Use the document builder to insert some content and fields. $builder = new Java("com.aspose.words.DocumentBuilder", $doc); // Insert a table of contents at the beginning of the document. $builder->insertTableOfContents("\\o \"1-3\" \\h \\z \\u"); $builder->writeln(); // Insert some other fields. $builder->write("Page: "); $builder->insertField("PAGE"); $builder->write(" of "); $builder->insertField("NUMPAGES"); $builder->writeln(); $builder->write("Date: "); $builder->insertField("DATE"); // Start the actual document content on the second page. $breakType = new Java("com.aspose.words.BreakType"); $builder->insertBreak($breakType->SECTION_BREAK_NEW_PAGE); // Build a document with complex structure by applying different heading styles thus creating TOC entries. $styleIdentifier = new Java("com.aspose.words.StyleIdentifier"); $builder->getParagraphFormat()->setStyleIdentifier($styleIdentifier->HEADING_1); $builder->writeln("Heading 1"); $builder->getParagraphFormat()->setStyleIdentifier($styleIdentifier->HEADING_2); $builder->writeln("Heading 1.1"); $builder->writeln("Heading 1.2"); $builder->getParagraphFormat()->setStyleIdentifier($styleIdentifier->HEADING_1); $builder->writeln("Heading 2"); $builder->writeln("Heading 3"); // Move to the next page. $builder->insertBreak($breakType->PAGE_BREAK); $builder->getParagraphFormat()->setStyleIdentifier($styleIdentifier->HEADING_2); $builder->writeln("Heading 3.1"); $builder->getParagraphFormat()->setStyleIdentifier($styleIdentifier->HEADING_3); $builder->writeln("Heading 3.1.1"); $builder->writeln("Heading 3.1.2"); $builder->writeln("Heading 3.1.3"); $builder->getParagraphFormat()->setStyleIdentifier($styleIdentifier->HEADING_2); $builder->writeln("Heading 3.2"); $builder->writeln("Heading 3.3"); echo "Updating all fields in the document."; // Call the method below to update the TOC. $doc->updateFields(); $doc->save($dataDir . "Document Field Update Out.docx"); }
public static function main() { // The path to the documents directory. $dataDir = "/usr/local/apache-tomcat-8.0.22/webapps/JavaBridge/Aspose_Words_Java_For_PHP/src/programmingwithdocuments/workingwithfields/insertnestedfields/data/"; $doc = new Java("com.aspose.words.Document"); // Document(); $builder = new Java("com.aspose.words.DocumentBuilder", $doc); // DocumentBuilder(doc); // Insert few page breaks (just for testing) $breakType = Java("com.aspose.words.BreakType"); for ($i = 0; $i < 5; $i++) { $builder->insertBreak($breakType->PAGE_BREAK); } // Move DocumentBuilder cursor into the primary footer. $headerFooterType = Java("com.aspose.words.HeaderFooterType"); $builder->moveToHeaderFooter($headerFooterType->FOOTER_PRIMARY); // We want to insert a field like this: // { IF {PAGE} <> {NUMPAGES} "See Next Page" "Last Page" } $field = $builder->insertField("IF "); $builder->moveTo($field->getSeparator()); $builder->insertField("PAGE"); $builder->write(" <> "); $builder->insertField("NUMPAGES"); $builder->write(" \"See Next Page\" \"Last Page\" "); // Finally update the outer field to recalcaluate the final value. Doing this will automatically update // the inner fields at the same time. $field->update(); $doc->save($dataDir . "InsertNestedFields Out.docx"); }