【问题标题】:Page margins on a PHP generated Word document (using fopen)PHP 生成的 Word 文档的页边距(使用 fopen)
【发布时间】:2011-04-26 08:37:07
【问题描述】:

我最近发布了一个关于如何在不使用 COM 对象的情况下生成 .doc 文件的问题 - 我得到了一些很好的答复(谢谢!)但不幸的是,我需要该文档与旧的 .doc 格式兼容,而不是 .doc 格式。 docx,因为我们在这里都使用 Office 2003,没有兼容性插件。

我有以下代码生成一个非常基本的文档,但可能会完成这项工作,问题是标题图像非常大(并且必不可少),除非我降低页边距,否则无法放入。 .. 我尝试将 HTML/Body 的边距和填充更改为 0,但不幸的是没有运气:

$fp = fopen("test.doc", 'w+');
$str = "<html><body><img src=\"http://url/header_image.png\">

    <B>Content</B></body></html>";

fwrite($fp, $str);
fclose($fp);

【问题讨论】:

  • 您确实意识到您不是生成的是 Word .DOC 文档,而是常规的 HTML 文件?
  • 有效点,是的:(谢谢

标签: php ms-word doc


【解决方案1】:

您实际上并没有创建 Word 文件,而只是 Word 使用其自己的内部渲染器格式化的 HTML 文件。

您也可以将它们作为html 文件分发。

我能想到的唯一好处是您只需针对 Word 版本而不是所有浏览器。

【讨论】:

  • 谢谢,您没有看错,但不幸的是,要求它们以 word 文档的形式生成,因为它使归档和打印更容易,以用户熟悉的方式: /
【解决方案2】:

晚了几年,但它可能对其他人有所帮助: http://sunsetsoftware.blogspot.com/2012/01/how-to-create-word-document-with-html.html

@page Section1{
    size: 29.7cm 21cm;
    margin: 2cm 2cm 2cm 2cm;
    mso-page-orientation: landscape;
    mso-footer:f1;
}

这是有趣的部分。让它成为肖像:

@page Section1{
    size: 21cm 29.7cm;
    margin: 2cm 2cm 2cm 2cm;
    mso-page-orientation: portrait;
    mso-footer:f1;
}

【讨论】:

    猜你喜欢
    • 2022-09-23
    • 1970-01-01
    • 2022-12-19
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    相关资源
    最近更新 更多