예제 #1
0
 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");
 }