如何将xml转换为docx文档?

时间:2014-08-21 11:18:59

标签: php docx

我想创建一个可以替换docx文档中特定单词的应用程序,我有一个可以将docx文件转换为xml的函数,以下是函数

function read_file_docx($filename){
    $content = '';
    if(!$filename || !file_exists($filename)) return false;
    $zip = zip_open($filename);
    if (!$zip || is_numeric($zip)) return false;
    while ($zip_entry = zip_read($zip)) {
            if (zip_entry_open($zip, $zip_entry) == FALSE) continue;
            if (zip_entry_name($zip_entry) != "word/document.xml") continue;
            $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            zip_entry_close($zip_entry);
    }// end while
    zip_close($zip);
    return $content;
}

此函数返回以下xml数据

<w:document xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing">
    <w:body>
    <w:p>
        <w:pPr>
            <w:pStyle w:val="style0"/>
            <w:spacing w:after="0" w:before="0"/>
            <w:contextualSpacing w:val="false"/>
        </w:pPr>
        <w:r>
            <w:rPr>
                <w:sz w:val="24"/>
                <w:szCs w:val="24"/>
            </w:rPr>
            <w:t>Nomor</w:t>
            <w:tab/>
            <w:tab/>
            <w:t>: 032/AP-DK/04/14</w:t>
        </w:r>
    </w:p>
    ..
用上面的结果,我可以做字符串处理来替换特定的单词,问题是如何将xml恢复到docx文件上面?

0 个答案:

没有答案