Поля страницы в сгенерированном PHP документе Word (с использованием fopen) - PullRequest
0 голосов
/ 26 апреля 2011

Недавно я опубликовал вопрос о том, как сгенерировать файл .doc без использования объекта COM - у меня было несколько замечательных ответов (спасибо!), Но, к сожалению, мне нужен документ, чтобы он был совместим со старым форматом .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);

Ответы [ 2 ]

2 голосов
/ 03 июля 2013

На пару лет позже, но это может помочь кому-то еще: 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;
}
2 голосов
/ 26 апреля 2011

Вы на самом деле не создаете файл Word, это просто HTML-файл, который Word форматирует с использованием своего собственного внутреннего средства визуализации.

Вы также можете просто распространять их как html файлы.

Единственное преимущество, о котором я могу подумать, это то, что вам нужно ориентироваться только на версии Word, а не на все браузеры.

...