public function writeDocPropsCore(PHPWord $pPHPWord = null) { // Create XML writer $objWriter = null; if ($this->getParentWriter()->getUseDiskCaching()) { $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); } else { $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_MEMORY); } // XML header $objWriter->startDocument('1.0', 'UTF-8', 'yes'); // cp:coreProperties $objWriter->startElement('cp:coreProperties'); $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties'); $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/'); $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/'); $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); // dc:creator $objWriter->writeElement('dc:creator', $pPHPWord->getProperties()->getCreator()); // cp:lastModifiedBy $objWriter->writeElement('cp:lastModifiedBy', $pPHPWord->getProperties()->getLastModifiedBy()); // dcterms:created $objWriter->startElement('dcterms:created'); $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); $objWriter->writeRaw(date(DATE_W3C, $pPHPWord->getProperties()->getCreated())); $objWriter->endElement(); // dcterms:modified $objWriter->startElement('dcterms:modified'); $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); $objWriter->writeRaw(date(DATE_W3C, $pPHPWord->getProperties()->getModified())); $objWriter->endElement(); // dc:title $objWriter->writeElement('dc:title', $pPHPWord->getProperties()->getTitle()); // dc:description $objWriter->writeElement('dc:description', $pPHPWord->getProperties()->getDescription()); // dc:subject $objWriter->writeElement('dc:subject', $pPHPWord->getProperties()->getSubject()); // cp:keywords $objWriter->writeElement('cp:keywords', $pPHPWord->getProperties()->getKeywords()); // cp:category $objWriter->writeElement('cp:category', $pPHPWord->getProperties()->getCategory()); $objWriter->endElement(); // Return return $objWriter->getData(); }
protected function _writeTitle(PHPWord_Shared_XMLWriter $objWriter = null, PHPWord_Section_Title $title) { $text = htmlspecialchars($title->getText()); $text = PHPWord_Shared_String::ControlCharacterPHP2OOXML($text); $anchor = $title->getAnchor(); $bookmarkId = $title->getBookmarkId(); $style = $title->getStyle(); $objWriter->startElement('w:p'); if (!empty($style)) { $objWriter->startElement('w:pPr'); $objWriter->startElement('w:pStyle'); $objWriter->writeAttribute('w:val', $style); $objWriter->endElement(); $objWriter->endElement(); } $objWriter->startElement('w:r'); $objWriter->startElement('w:fldChar'); $objWriter->writeAttribute('w:fldCharType', 'end'); $objWriter->endElement(); $objWriter->endElement(); $objWriter->startElement('w:bookmarkStart'); $objWriter->writeAttribute('w:id', $bookmarkId); $objWriter->writeAttribute('w:name', $anchor); $objWriter->endElement(); $objWriter->startElement('w:r'); $objWriter->startElement('w:t'); $objWriter->writeRaw($text); $objWriter->endElement(); $objWriter->endElement(); $objWriter->startElement('w:bookmarkEnd'); $objWriter->writeAttribute('w:id', $bookmarkId); $objWriter->endElement(); $objWriter->endElement(); }
protected function _writeText(PHPWord_Shared_XMLWriter $objWriter = null, PHPWord_Section_Text $text, $withoutP = false) { $styleFont = $text->getFontStyle(); $styleParagraph = $text->getParagraphStyle(); $SfIsObject = $styleFont instanceof PHPWord_Style_Font ? true : false; if ($SfIsObject) { // Don't never be the case, because I browse all sections for cleaning all styles not declared die('PHPWord : $SfIsObject wouldn\'t be an object'); } else { // text:p $objWriter->startElement('text:p'); if (empty($styleFont)) { if (empty($styleParagraph)) { $objWriter->writeAttribute('text:style-name', 'P1'); } else { $objWriter->writeAttribute('text:style-name', $text->getParagraphStyle()); } $objWriter->writeRaw($text->getText()); } else { if (empty($styleParagraph)) { $objWriter->writeAttribute('text:style-name', 'Standard'); } else { $objWriter->writeAttribute('text:style-name', $text->getParagraphStyle()); } // text:span $objWriter->startElement('text:span'); $objWriter->writeAttribute('text:style-name', $styleFont); $objWriter->writeRaw($text->getText()); $objWriter->endElement(); } $objWriter->endElement(); } }