1

在 PHP 中,我必须从 DOCX 文件中删除作者元数据。首先,我解压缩了文档,并在编辑作者元数据后使用 XML 阅读器库将其设置为空。

$file = 'document.docx';
$filename = 'path/'.$file;

// Unzip the docx
$unzipped = md5($filename);

if (file_exists($unzipped)) {
    rmdir($unzipped);
    mkdir($unzipped);
}

$zip = new ZipArchive;
$res = $zip->open($filename);
if ($res === true) {
    extractFolder($zip, "word/media", $unzipped);
    $zip->extractTo($unzipped); 
    $zip->close();
} else {
    die("The docx file appears to be corrupt (i.e. it can't be opened using Zip).\n");
}

当我尝试重新压缩文档时出现问题。事实上,当重新压缩完成后,当我在 Word 中打开 docx 文件时,它似乎已损坏。

create_docx($unzipped,'_zips/'.$file );

如何修改作者元数据(设置文档匿名)并保存正确的 docx 文件?

4

1 回答 1

0

我不知道 php,但我认为问题是您必须在文件夹 $unzipped 内进行压缩,而不是文件夹本身。所以一种递归的“$unzipped/*”作为源而不是“$unzipped”。

于 2016-06-15T09:04:11.360 回答