如何在word中插入文字并转成pdf

How insert text into word and convert it into pdf

名字 姓氏 文件位置
安迪
贾森 休尔斯
易卜拉欣 穆罕默德

我正在尝试为 table 中列出的所有用户制作电子证书。我已经将数据导入我的数据库(phpmyadmin)。

我设计了一个Microsoft Word证书,只是想知道是否可以在文件中插入参与者的姓名并将其转换为pdf?大概有500人参加,如果我要在word里一一更新,很费时间。

我正尝试在 PHP 和 JS 中进行。你们对如何使这项工作有任何其他想法吗?

使用这个库,你可以创建word文档和pdf。 https://phpspreadsheet.readthedocs.io/en/latest/

是的,您可以使用 class 命名为 ZipArchive

我正在添加示例代码。可以根据自己的需要更改。

<?php
$template_file_name = 'certificate.docx';
$rand_no = rand(111111, 999999);
$fileName = $rand_no . ".docx";
$folder   = "results";
$full_path = $folder . '/' . $fileName;
try
{
    if (!file_exists($folder))
    {
        mkdir($folder);
    }
    //Copy the Template file to the Result Directory
    copy($template_file_name, $full_path);
    // add calss Zip Archive
    $zip_val = new ZipArchive;
    //Docx file is nothing but a zip file. Open this Zip File
    if($zip_val->open($full_path) == true)
    {
        // In the Open XML Wordprocessing format content is stored.
        // In the document.xml file located in the word directory.
        $key_file_name = 'word/document.xml';
        $message = $zip_val->getFromName($key_file_name);
        $timestamp = date('d-M-Y H:i:s');
        // this data Replace the placeholders with actual values
        $message = str_replace("full_name",      "John Doe",       $message);
        $message = str_replace("email_address",  "abc@email.com",  $message);
        //Replace the content with the new content created above.
        $zip_val->addFromString($key_file_name, $message);
        $zip_val->close();
    }
}
catch (Exception $exc) 
{
    $error_message =  "Error creating the Word Document";
    var_dump($exc);
}
?>