Heim >Backend-Entwicklung >PHP-Tutorial >So konvertieren Sie Word-Dokumente mit PHP in HTML und PDF
In diesem Artikel wird hauptsächlich die Verwendung von PHP zum Konvertieren von Word-Dokumenten in HTML und PDF vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
1: Verwenden Sie PHPWORD, um Word-Dokumente zu generieren:
**必须安装:**
1.》=PHP 5.3.3 +
2. XML-Parser-Erweiterung
3. ZendEscaper-Komponente
4. ZendStdlib-Komponente
5. ZendValidator-Komponente
Selektive Installation:
Zip-Erweiterung (Erweiterung für Vorlagenvorlage erforderlich)
GD-Erweiterung
XMLWriter-Erweiterung
XSL-Erweiterung
dompdf-Bibliothek
Sie können zu https://packagist.org/ gehen, um die erforderliche PHP-Paketbibliothek zu finden.
Sie können PHPword über Composer installieren, composer require phpofficephpword
;
Sie können eine Abhängigkeit von PHPword auch direkt in der Konfigurationsdatei hinzufügen:
{ “require” : { “phpoffice / phpword” : “v0.14。*” } }
Dann führen Sie composer update
aus (Composer-Version ist zu niedrig, verwenden Sie composer self-update
)
Verwendung:
//设置默认样式 $phpWord->setDefaultFontName('仿宋');//字体 $phpWord->setDefaultFontSize(16);//字号 //添加页面 $section = $phpWord->createSection(); //添加目录 $styleTOC = ['tabLeader' => \PhpOffice\PhpWord\Style\TOC::TABLEADER_DOT]; $styleFont = ['spaceAfter' => 60, 'name' => 'Tahoma', 'size' => 12]; $section->addTOC($styleFont, $styleTOC); //默认样式 $section->addText('Hello PHP!'); $section->addTextBreak();//换行符 //指定的样式 $section->addText( 'Hello world!', [ 'name' => '宋体', 'size' => 16, 'bold' => true, ] ); $section->addTextBreak(5);//多个换行符 //自定义样式 $myStyle = 'myStyle'; $phpWord->addFontStyle( $myStyle, [ 'name' => 'Verdana', 'size' => 12, 'color' => '1BFF32', 'bold' => true, 'spaceAfter' => 20, ] ); $section->addText('Hello laravel!', $myStyle); $section->addText('Hello Vue.js!', $myStyle); $section->addPageBreak();//分页符 //添加文本资源 $textrun = $section->createTextRun(); $textrun->addText('加粗', ['bold' => true]); $section->addTextBreak();//换行符 $textrun->addText('倾斜', ['italic' => true]); $section->addTextBreak();//换行符 $textrun->addText('字体颜色', ['color' => 'AACC00']); //列表 $listStyle = ['listType' => \PhpOffice\PhpWord\Style\ListItem::TYPE_NUMBER]; $section->addListItem('List Item I', 0, null, 'listType'); $section->addListItem('List Item I.a', 1, null, 'listType'); $section->addListItem('List Item I.b', 1, null, 'listType'); $section->addListItem('List Item I.c', 2, null, 'listType'); $section->addListItem('List Item II', 0, null, 'listType'); $section->addListItem('List Item II.a', 1, null, 'listType'); $section->addListItem('List Item II.b', 1, null, 'listType'); //超链接 $linkStyle = ['color' => '0000FF', 'underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE]; $phpWord->addLinkStyle('myLinkStyle', $linkStyle); $section->addLink('http://www.baidu.com', '百度一下', 'myLinkStyle'); $section->addLink('http://www.baidu.com', null, 'myLinkStyle'); //添加图片 $imageStyle = ['width' => 480, 'height' => 640, 'align' => 'center']; $section->addImage('./img/t1.jpg', $imageStyle); $section->addImage('./img/t2.jpg',$imageStyle); //添加标题 $phpWord->addTitleStyle(1, ['bold' => true, 'color' => '1BFF32', 'size' => 38, 'name' => 'Verdana']); $section->addTitle('标题1', 1); $section->addTitle('标题2', 1); $section->addTitle('标题3', 1); //添加表格 $styleTable = [ 'borderColor' => '006699', 'borderSize' => 6, 'cellMargin' => 50, ]; $styleFirstRow = ['bgColor' => '66BBFF'];//第一行样式 $phpWord->addTableStyle('myTable', $styleTable, $styleFirstRow); $table = $section->addTable('myTable'); $table->addRow(400);//行高400 $table->addCell(2000)->addText('学号'); $table->addCell(2000)->addText('姓名'); $table->addCell(2000)->addText('专业'); $table->addRow(400);//行高400 $table->addCell(2000)->addText('2015123'); $table->addCell(2000)->addText('小明'); $table->addCell(2000)->addText('计算机科学与技术'); $table->addRow(400);//行高400 $table->addCell(2000)->addText('2016789'); $table->addCell(2000)->addText('小傻'); $table->addCell(2000)->addText('教育学技术'); //页眉与页脚 $header = $section->createHeader(); $footer = $section->createFooter(); $header->addPreserveText('页眉'); $footer->addPreserveText('页脚 - 页数 {PAGE} - {NUMPAGES}.'); //生成的文档为Word2007$writer = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007'); $writer->save('./word/hello.docx');rrree
Zwei: Verwenden Sie tcpdf, um PDF zu generieren.
Verwenden Sie Composer zur Installation: composer require tecnickcom/tcpdf
Anleitung Zu verwenden:
//Word转HTML $phpWord = \PhpOffice\PhpWord\IOFactory::load('./word/hello.docx'); $xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, "HTML"); $xmlWriter->save('./html/hello.html');
Verwandte Empfehlungen:
Verwenden der Gensim-Bibliothek word2vec in Python
Beispiel für die Verwendung von Python zur Verarbeitung von MS Word
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Word-Dokumente mit PHP in HTML und PDF. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!