6

PHP を使用して Microsoft Word 文書を作成しようとしていました。オンラインで調べたところ、提供された解決策のほとんどは、書式設定がまったく行われていない .doc を作成するだけであることがわかりました。PHP で書式設定できる Word ドキュメントを作成する最善の方法、つまり会社のフォント、色、サイズなどを変更する最善の方法を考えていました。これにはある種のライブラリが必要になると思います。どんな回答でも大歓迎です。

4

4 に答える 4

3

いくつかの Office 固有のスタイル プロパティと共に、動的な Word ドキュメントのコンテンツを HTML で構築します。

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
于 2015-04-21T06:33:46.047 に答える
-1

HTMLで開かずに、プレーンテキストと変数を使用して実行できます-ここを参照してください http://www.jakebown.com/?p=77

于 2013-08-31T12:35:52.967 に答える