PageBreak in converting HTML to doc and docx fromat - PHP

11,026

Solution 1

put this where you need a page break:

<br clear="all" style="page-break-before:always" />

this is working for me

Solution 2

Try this:

Page 1 contents:
<hr>
Page 2 contents:
<hr>
Page 3 contents:

and within CSS:

hr {
  page-break-after: always;
}
Share:
11,026
Fero
Author by

Fero

C00L Developer....

Updated on June 21, 2022

Comments

  • Fero
    Fero almost 2 years

    I have converted HTML to DOC format using PHP.

    kindly view the below screen shot.

    enter image description here

    My Problem is i need to print 1st table in first page and 2nd table in second page.

    Here is my set of code.

    header("Content-type: application/vnd.ms-word");
    header("Content-Disposition: attachment;Filename=document_name.doc");
    echo $html = '<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>HTML TO WORD</title>
    </head>
    <style type="text/css">
    .table {
     page-break-after: always;
    }
    </style>
    <body>
    <table width="600" border="1">
    <tr>
    <td height="105">&nbsp;</td>
    </tr>
    <tr>
    <td style="text-align:center; font-size:30px;color:#ed6500;"><b>Title</b></td>
    </tr>
    <tr>
    <td style="text-align:center; color:#595959;">Author:
    <span style="color:#9d402b; text-decoration:underline;">Author name</span></td>
    </tr>
    </table>
    <table width="600" border="1">
    <tr>
    <td>Table Of Contents</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>Category 1</td>
    </tr>
    <tr>
    <td style="padding-left:30px;">Sub Category 1</td>
    </tr>
    </table>
    </body>
    </html>';
    

    How can this be done?

    Thanks in advance...

  • Curtis Yallop
    Curtis Yallop over 8 years
    "page-break-before:always" seems to work on any element. But not "page-break-after:always".
  • Curtis Yallop
    Curtis Yallop over 8 years
    When I add "page-break-before:always" to a container div Word seems to apply this on every single child element as well. It needs to be added to a child-less element.