PHPWord是一个用纯PHP编写的库,它提供了创建/编写文字处理器文档格式(Word 2007,Open / Libre Office和Rich-Text Format)的方法。
手动安装的文档已过时。我尝试手动编写一个自动加载器类,也许它有效?但我在 Sample-01.php 中得到的唯一输出是 02:56:03 Create new PhpWord obj...
我正在使用 PHPWord 创建 Microsoft Word 报告。我基本上从一个模板开始,填充字段并将其保存为文字报告。 我想将此报告转换为 pdf 文件。我...
桌子上有一个空格。我无法删除它。它不仅仅是空格、制表符、对齐或 4space。这张图是错误的,应该是这样这张图是真的 $信息...
为什么 Office OpenXML 在标签之间分割文本以及如何防止这种情况?
我目前正在尝试使用 PHPWord 库及其模板系统来处理 docx 文件。我已经找到并更新了某人(不记得名字,但这并不重要)到这个库的路径......
我正在尝试解决很长时间以来的一个问题..我的PhpWord文档在本地主机中正确下载,但我没有得到确切的输出..我的word直接打印标签而不使其强大...
我正在尝试在 html 内的表格中添加边框。下面是我的代码 $phpWord = new \PhpOffice\PhpWord\PhpWord(); $section = $phpWord->addSection(); $html =“ ... 我正在尝试在 html 内的表格中添加边框。下面是我的代码 $phpWord = new \PhpOffice\PhpWord\PhpWord(); $section = $phpWord->addSection(); $html = "<table border='1'> <tr> <th>name</th> </tr> <tr><td>John</td></tr> </table>"; \PhpOffice\PhpWord\Shared\Html::addHtml($section, $html ); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment;filename="test.docx"'); $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); $objWriter->save('php://output'); 我已指定边框为 1,但它不起作用。我的桌子没有边框 它的事件无法通过添加样式来工作。请帮忙 尝试以最小的更改和所有工作来运行您的代码) require_once __DIR__ . '/vendor/autoload.php'; use PhpOffice\PhpWord\IOFactory; use PhpOffice\PhpWord\PhpWord; use PhpOffice\PhpWord\Shared\Html; $phpWord = new PhpWord(); $section = $phpWord->addSection(); $html = "<table border='1'> <tr> <th>name</th> </tr> <tr><td>John</td></tr> </table>"; Html::addHtml($section, $html); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment;filename="test.docx"'); $objWriter = IOFactory::createWriter($phpWord); $objWriter->save('php://output'); 结果截图 在这种情况下使用内联 CSS。你应该这样做: require_once __DIR__ . '/vendor/autoload.php'; use PhpOffice\PhpWord\IOFactory; use PhpOffice\PhpWord\PhpWord; use PhpOffice\PhpWord\Shared\Html; $phpWord = new PhpWord(); $section = $phpWord->addSection(); $html = "<table style="border: 1px solid black;"> <tr> <th>name</th> </tr> <tr><td>John</td></tr> </table>"; Html::addHtml($section, $html); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment;filename="test.docx"'); $objWriter = IOFactory::createWriter($phpWord); $objWriter->save('php://output'); 添加 PHPWord/Shared/Html.php, 函数parseInlineStyle, 在案例部分添加 case 'border': $styles['borderSize'] = (int) $val; $styles['borderStyle'] = 'solid'; $styles['borderColor'] = '#000000'; break;
使用 laravel8、ajax 和 PhpWord 库下载带有服装名称的 Word 文档
我正在尝试使用 Laravel8 和 Ajax 调用从存储路径下载 Word 文档。 我正在使用以下代码: $(文档).on('点击', '.下载', function(){ var da...</desc> <question vote="0"> <p>我正在尝试使用 Laravel8 和 Ajax 调用从存储路径下载 Word 文档。</p> <p>我正在使用以下代码:</p> <pre><code><script> $(document).on('click', '.download', function(){ var data = ''; var id = $(this).attr('id'); console.log(id); var data = ''; $.ajax({ url:"modeles_contrat/"+id+"/download", type:"GET", data: data, xhrFields: { responseType: 'blob' }, success: function(response) { var blob = new Blob([response]); var link = document.createElement('a'); link.href = window.URL.createObjectURL(blob); link.download = "casting.docx"; link.click(); }, error: function() { $('#responseMsg').removeClass("alert-success"); $('#responseMsg').addClass("alert-danger"); $('#responseMsg').html('Veuillez générer le contrat'); $('#responseMsg').show(); } }) }); </script> </code></pre> <p>以及以下控制器:</p> <pre><code>public function download($id, $downloadName = null) { $data2 = array(); $data_modele = Model_Contrat::where('id_modele_contrat',$id)->first(); $filename= $data_modele->fichier; $filepath = 'Casting_V0.1_Test\casting\storage\app\public\uploads\modeles_contrat/'.$filename; /* $filepath = str_replace('', '/',public_path('Model/'.$filename.'.docx')); */ if (file_exists($filepath)) { $headers = array( 'Content-Type: application/docx', ); $downloadName = $downloadName??$filename; return Response::download($filepath); } else { $data2['success'] = 2; $data2['message'] = 'File not uploaded.'; return response()->json($data2); } } </code></pre> <p>所有作品文件,但问题是所有文件都以<pre><code>casting.docx</code></pre>的名称下载。我想下载每个文件的原始名称,而不是名称 <pre><code>casting.docx</code></pre>。</p> <p>如果您对如何下载具有自定义名称的文件有任何想法,请帮助我。</p> <p>提前谢谢您</p> <p><strong>编辑</strong></p> <p>我尝试删除ajax调用,所以我使用以下代码:</p> <p>我的数据表添加了一个列链接来获取行的 id:</p> <pre><code>$button .='<a href="/modeles_contrat/"'.$data->id_modele_contrat.'"/download" class="btn btn-xs btn-info pull-right" data_id="'.$data->id_modele_contrat.'" >Télécharger</a>'; </code></pre> <p>在我的路线中,我有以下路线:</p> <pre><code>Route::group(['middleware' => ['auth','role:account_manager|admin|manager_de_filiale']], function() { Route::get('/modeles_contrat/{id_modele_contrat}/download', [App\Http\Controllers\ModeleController::class, 'download']); }); </code></pre> <p>在我的控制器中我有以下代码:</p> <pre><code>public function download($id_modele_contrat) { $data2 = array(); $data_modele = Model_Contrat::where('id_modele_contrat',$id_modele_contrat)->first(); $filename = $data_modele->fichier; $filepath = 'Casting_V0.1_Test\casting\storage\app\public\uploads\modeles_contrat/'.$filename; /* $filepath = str_replace('', '/',public_path('Model/'.$filename.'.docx')); */ if (file_exists($filepath)) { $headers = array( 'Content-Type: => application/docx', ); return Response::download($filepath,$filename, $headers); } } </code></pre> <p>现在,当我单击下载文件的链接时,我会看到以下页面,但文件未下载:</p> <p><a href="https://i.sstatic.net/Odn4C.jpg" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvT2RuNEMuanBn" alt="enter image description here"/></a></p> </question> <answer tick="false" vote="0"> <p>您可以将文件名作为第二个参数传递给 <pre><code>Response::download()</code></pre> 函数。<br/> 尝试:</p> <pre><code>return Response::download($filepath, $downloadName); </code></pre> <p><a href="https://laravel.com/docs/8.x/filesystem#downloading-files" rel="nofollow noreferrer">这里</a>是下载功能的文档(<pre><code>Storage::download</code></pre>和<pre><code>Response::download</code></pre>应该是一样的)</p> </answer> </body></html>
文档左侧浮动图像。 PhpWord 0.18,环境 php 8.1,Laravel 9
我需要将签名放在word文档的左边距,如下图所示。 它在 PHP 7.4 环境中运行良好,只需将 style="float: left" 放在图像上即可...
我有一个文档模板,其中包含下表: 在 php 中,我用这一行填充变量: $templateProcessor->setValues(array("{key1}" => 59, "{key2}" =&...
我正在使用 PHPWord 创建使用 .docx 模板的报告。 这个库允许我克隆块和克隆表行。然而,这些示例是相互独立的。我需要联系...
我正在使用https://github.com/PHPOffice/PHPWord生成word文档。 函数 addTOC 生成带有标题的页面索引,但由于某种原因,页码不显示。 // 添加...
我正在尝试在 php (7.4) 中创建 Word 文档,并使用 PhpWord 0.18.2。 在我保存文档之前一切都很顺利。 系统抛出 HTTP 500(内部服务器错误)。 我已经搜索过...
为什么“deleteBlocks”在 phpWord 中不起作用?
我正在尝试在 Word 文档中使用块,但遇到一些问题。首先,当我在文档中声明一个块时,如果我不使用函数“cloneBlock”,结果会像这样......
我尝试将 Word 文档转换为 PDF,但格式丢失且与原始文档不匹配。具体来说,我将证书从 Word 文件转换为 PDF,导致错误...
我正在将 html 添加到无序列表的 phpword 中。字体样式可以很好地通过(在列表项上),但段落样式完全被忽略。 我的列表项上的这个效果很好:
找不到存档文件。在 PHPWord-0.16.0/vendor/phpoffice/common/src/Common/XMLReader.php
我想在php中将docx文件转换为html并将内容作为json响应发送到角度端。 我正在尝试这里的代码 require_once 'bootstrap.php'; $phpWord = 新 \PhpOffice\PhpWord\Ph...
PhpOffice\PhpWord 1.2.0 - TemplateProcessor 添加数字列表项不起作用
if (!empty($params['responsibilityItems'])) { $cnt = count($params['responsibilityItems']); $templateProcessor->cloneBlock('responsibilityItems', $cnt, true, true); $部分= ...
好吧,我终于让 phpword 模板处理器工作了,现在我遇到了一个小问题:我想动态地将图片添加到我的模板中。到目前为止,我一直在更换我寺庙中的东西......
脚本在以前的手动安装版本中是可以的,所以我upradiung php(使用LAMPP) 我收到错误: 致命错误:未捕获错误:在 /opt/la 中的 null 上调用成员函数 addTable()...
找不到类“PhpOffice\PhpWord\Writer\Word2007\Element\Section”
我正在尝试使用以下代码将列表项添加到 phpword 模板: $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate(storage_path('app/template_report.docx')); $se...