我想使用PHP创建一个Microsoft Word文档。在网上搜索后,我发现大多数提供的解决方案只是创建一个没有任何格式设置的.doc文件。我想知道在PHP中创建一个可以进行格式设置的Word文档的最佳方法是什么,比如更改字体、颜色、大小等。 我猜需要使用某种库来实现这一点。非常感谢您的回复。
我想使用PHP创建一个Microsoft Word文档。在网上搜索后,我发现大多数提供的解决方案只是创建一个没有任何格式设置的.doc文件。我想知道在PHP中创建一个可以进行格式设置的Word文档的最佳方法是什么,比如更改字体、颜色、大小等。 我猜需要使用某种库来实现这一点。非常感谢您的回复。
将动态 Word 文档的内容构建为 HTML 格式,并添加一些 Office 特定的样式属性。
Public Sub Page_Load(sender as Object, e as EventArgs)
Dim strBody As New System.Text.StringBuilder("")
strBody.Append("<html " &
"xmlns:o='urn:schemas-microsoft-com:office:office' " &
"xmlns:w='urn:schemas-microsoft-com:office:word'" &
"xmlns='http://www.w3.org/TR/REC-html40'>" &
"<head><title>Time</title>")
//The setting specifies document's view after it is downloaded as Print instead of the default Web Layout
strBody.Append("<!--[if gte mso 9]>" &
"<xml>" &
"<w:WordDocument>" &
"<w:View>Print</w:View>" &
"<w:Zoom>90</w:Zoom>" &
"<w:DoNotOptimizeForBrowser/>" &
"</w:WordDocument>" &
"</xml>" &
"<![endif]-->")
strBody.Append("<style>" &
"<!-- /* Style Definitions */" &
"@page Section1" &
" {size:8.5in 11.0in; " &
" margin:1.0in 1.25in 1.0in 1.25in ; " &
" mso-header-margin:.5in; " &
" mso-footer-margin:.5in; mso-paper-source:0;}" & _
" div.Section1" &
" {page:Section1;}" &
"-->" &
"</style></head>")
strBody.Append("<body lang=EN-US style='tab-interval:.5in'>" &
"<div class=Section1>" & _
"<h1>Time and tide wait for none</h1>" &
"<p style='color:red'><I>" &
DateTime.Now & "</I></p>" &
"</div></body></html>")
// Force this content to be downloaded as a Word document with the name of your choice
Response.AppendHeader("Content-Type", "application/msword")
Response.AppendHeader ("Content-disposition", "attachment;filename=myword.doc")
Response.Write(strBody)
End Sub
dave的代码对我很有效。我在我的PHP代码中像这样使用它。这将以打印布局打开。
<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>
<head>
<title>Time</title>
<!--[if gte mso 9]>
<xml>
<w:WordDocument>
<w:View>Print</w:View>
<w:Zoom>100</w:Zoom>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml>
<![endif]-->
<style>
@page Section1 {
size: 8.5in 11.0in;
margin: 1.0in 1.25in 1.0in 1.25in ;
mso-header-margin: .5in;
mso-footer-margin: .5in;
mso-paper-source: 0;
}
div.Section1 {
page: Section1;
}
</style>