This commit is contained in:
wangjinlei
2024-12-03 17:08:40 +08:00
parent 79de1c784a
commit 5bd2e2e024
7 changed files with 96 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ use PHPMailer\PHPMailer\PHPMailer;
use think\Db;
use think\Env;
use think\Cache;
use PhpOffice\PhpWord\IOFactory;
//use TCPDF;
@@ -172,6 +173,61 @@ function proofState($article_id)
$p_article_obj->where('article_id', $article_id)->where('state', '<>', 1)->where('proof_etime', '<', time())->where('proof_state', 1)->update(['proof_state' => 2]);
}
function readWordImg($article_id,$file){
$phpWord = IOFactory::load($file);
// 获取文档中的所有图像
$images = [];
foreach ($phpWord->getSections() as $section) {
foreach ($section->getElements() as $element) {
var_dump(get_class($element)); // 输出每个元素的类名
// 如果是列表项元素,检查其中是否包含图片
if ($element instanceof \PhpOffice\PhpWord\Element\ListItemRun) {
foreach ($element->getElements() as $itemElement) {
if (method_exists($itemElement, 'getImage')) {
$image = $itemElement->getImage();
if ($image) {
$imageContent = $image->getImageString();
$imageName = 'image_' . uniqid() . '.' . $image->getExtension();
file_put_contents(ROOT_PATH.'/public/articleImage/'.$article_id."/" . $imageName, $imageContent);
$images[] = $imageName;
}
}
}
} elseif ($element instanceof \PhpOffice\PhpWord\Element\Table) {
// 检查表格中是否包含图片
foreach ($element->getRows() as $row) {
foreach ($row->getCells() as $cell) {
foreach ($cell->getElements() as $cellElement) {
if (method_exists($cellElement, 'getImage')) {
$image = $cellElement->getImage();
if ($image) {
$imageContent = $image->getImageString();
$imageName = 'image_' . uniqid() . '.' . $image->getExtension();
file_put_contents(ROOT_PATH.'/public/articleImage/'.$article_id."/" . $imageName, $imageContent);
$images[] = $imageName;
}
}
}
}
}
}
// 检查是否是图片元素
elseif (method_exists($element, 'getImage')) {
$image = $element->getImage();
if ($image) {
$imageContent = $image->getImageString();
$imageName = 'image_' . uniqid() . '.' . $image->getExtension();
file_put_contents(ROOT_PATH.'/public/articleImage/'.$article_id."/" . $imageName, $imageContent);
$images[] = $imageName;
}
}
}
}
return $images;
}
/**
* 生成文章sn号
* @return type