Convert Html/PHP with external css to MS Word file

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
altabmw01
Forum Newbie
Posts: 3
Joined: Fri Dec 02, 2016 2:50 pm

Convert Html/PHP with external css to MS Word file

Post by altabmw01 »

Hi All,
I need convert HTML/PHP with external css to MS Word file. I have a php file which is design by external css and i need to convert it in MS word docx file. How to get the proper solution for this problem. I am using PHPWORD script but it's work for basic html and css but not working with external css. If you have any solution, please help me with that.
Thanks
Altab Hossen
User avatar
Christopher
Site Administrator
Posts: 13596
Joined: Wed Aug 25, 2004 7:54 pm
Location: New York, NY, US

Re: Convert Html/PHP with external css to MS Word file

Post by Christopher »

Have you tried pasting the stylesheet inline instead of an external link?
(#10850)
altabmw01
Forum Newbie
Posts: 3
Joined: Fri Dec 02, 2016 2:50 pm

Re: Convert Html/PHP with external css to MS Word file

Post by altabmw01 »

Yes but not working #Christopher
User avatar
Christopher
Site Administrator
Posts: 13596
Joined: Wed Aug 25, 2004 7:54 pm
Location: New York, NY, US

Re: Convert Html/PHP with external css to MS Word file

Post by Christopher »

So your CSS is not working at all? Or certain styles are not working?

And, have to tried just selecting the whole page in the browser, copying it and pasting it into Word?
(#10850)
thinsoldier
Forum Contributor
Posts: 367
Joined: Fri Jul 20, 2007 11:29 am
Contact:

Re: Convert Html/PHP with external css to MS Word file

Post by thinsoldier »

altabmw01 wrote:Hi All,
I need convert HTML/PHP with external css to MS Word file. I have a php file which is design by external css and i need to convert it in MS word docx file. How to get the proper solution for this problem. I am using PHPWORD script but it's work for basic html and css but not working with external css. If you have any solution, please help me with that.
Thanks
Altab Hossen
I don't think the stuff you can do with css applies to word documents. Sure, word can generate a html file and if you added your css link to that it would work in a browser. But for going the other direction, I think #1 your css would have to be within the document itself and not linked and #2 the contents of your css woul probably be a lot of MSWord custom stuff that works in Word but not in a normal browser.

... ... ... ...

I just opened a .docx file with a plain text editor. It's actually a package containing a dozen other files. One of those files is `styles.xml` and another is `document.xml`

In the actual document there is

Code: Select all

<w:p><w:pPr>
<w:pStyle w:val="Subtitle"/><w:bidi w:val="0"/>
</w:pPr><w:r><w:rPr>
<w:rtl w:val="0"/></w:rPr>
<w:t>Geology 101 Report</w:t>
</w:r></w:p>
And in styles.xml there is

Code: Select all

	<w:style w:type="paragraph" w:styleid="Subtitle">
		<w:name w:val="Subtitle" /><w:next w:val="Body 2" />
		<w:ppr>
			<w:keepnext w:val="0" /><w:keeplines w:val="0" /><w:pagebreakbefore w:val="0" /><w:widowcontrol w:val="1" /><w:shd w:val="clear" w:color="auto" w:fill="auto" /><w:suppressautohyphens w:val="0" /><w:bidi w:val="0" /><w:spacing w:before="0" w:after="0" w:line="240" w:linerule="auto" /><w:ind w:left="0" w:right="0" w:firstline="0" /><w:jc w:val="center" /><w:outlinelvl w:val="9" />
		</w:ppr>
		<w:rpr>
			<w:rfonts w:ascii="Baskerville" w:cs="Arial Unicode MS" w:hansi="Baskerville" w:eastasia="Arial Unicode MS" /><w:b w:val="0" /><w:bcs w:val="0" /><w:i w:val="0" /><w:ics w:val="0" /><w:caps w:val="0" /><w:smallcaps w:val="0" /><w:strike w:val="0" /><w:dstrike w:val="0" /><w:outline w:val="0" /><w:color w:val="dc5921" /><w:spacing w:val="6" /><w:kern w:val="0" /><w:position w:val="0" /><w:sz w:val="64" /><w:szcs w:val="64" /><w:u w:val="none" /><w:vertalign w:val="baseline" />
		</w:rpr>
	</w:style>
This produces the text "Geology 101" in the font Baskerville with the color #dc5921

Maybe this is an XSL stylesheet or XSLT transformation thingamabob?

If using something like https://github.com/PHPOffice/PHPWord you wouldn't take a pre-existing html document and magically convert it to word. Instead you'd have to write a bunch of php code that describes what you want the output word document to be.
Warning: I have no idea what I'm talking about.
Post Reply