示例#1
0
 private function insertWatermarkText($doc, $watermarkText)
 {
     // Create a watermark shape. This will be a WordArt shape.
     // You are free to try other shape types as watermarks.
     $shapeType = new Java("com.aspose.words.ShapeType");
     $watermark = new Java("com.aspose.words.Shape", $doc, $shapeType->TEXT_PLAIN_TEXT);
     // Set up the text of the $watermark->
     $watermark->getTextPath()->setText($watermarkText);
     $watermark->getTextPath()->setFontFamily("Arial");
     $watermark->setWidth(500);
     $watermark->setHeight(100);
     // Text will be directed from the bottom-left to the top-right corner.
     $watermark->setRotation(-40);
     // Remove the following two lines if you need a solid black text.
     $color = new Java("java.awt.Color");
     $watermark->getFill()->setColor($color->GRAY);
     // Try LightGray to get more Word-style watermark
     $watermark->setStrokeColor($color->GRAY);
     // Try LightGray to get more Word-style watermark
     // Place the watermark in the page center.
     $relativeHorizontalPosition = new Java("com.aspose.words.RelativeHorizontalPosition");
     $watermark->setRelativeHorizontalPosition($relativeHorizontalPosition->PAGE);
     $watermark->setRelativeVerticalPosition($relativeHorizontalPosition->PAGE);
     $wrapType = new Java("com.aspose.words.WrapType");
     $watermark->setWrapType($wrapType->NONE);
     $verticalAlignment = new Java("com.aspose.words.VerticalAlignment");
     $watermark->setVerticalAlignment($verticalAlignment->CENTER);
     $horizontalAlignment = new Java("com.aspose.words.HorizontalAlignment");
     $watermark->setHorizontalAlignment($horizontalAlignment->CENTER);
     // Create a new paragraph and append the watermark to this paragraph.
     $watermarkPara = new Java("com.aspose.words.Paragraph", $doc);
     $watermarkPara->appendChild($watermark);
     $sects = $doc->getSections()->toArray();
     // Insert the watermark into all headers of each document section.
     foreach ($sects as $sect) {
         $headerFooterType = new Java("com.aspose.words.HeaderFooterType");
         // There could be up to three different headers in each section, since we want
         // the watermark to appear on all pages, insert into all headers.
         $this->insertWatermarkIntoHeader($watermarkPara, $sect, $headerFooterType->HEADER_PRIMARY);
         $this->insertWatermarkIntoHeader($watermarkPara, $sect, $headerFooterType->HEADER_FIRST);
         $this->insertWatermarkIntoHeader($watermarkPara, $sect, $headerFooterType->HEADER_EVEN);
     }
 }