Comments (4)
@nicolasiscoding , sure:
import HTMLtoDOCX from 'html-to-docx';
import InlineCss from 'inline-css';
const rawHTMLStringWithStyle = `
<style>
.sans-serif{
font-family: sans-serif;
}
.center{
text-align:center;
}
p{
margin-bottom:1.5rem;
}
</style>
<div class="sans-serif">
<h1 class="center">Text, centered</h1>
<p>A simple paragraph that will receive margin bottom from the element selector</p>
</div>
`;
const inlinedHTML = await InlineCss(rawHTMLStringWithStyle, { url: 'file://' });
const docxWithStyles = await HTMLtoDOCX(inlinedHTML);
//... your code
inlinedHTML
will contain this html with the styles applied to the nodes:
<html>
<head>
</head>
<body>
<div class="sans-serif" style="font-family: sans-serif;">
<h1 class="center" style="text-align: center;">Text, centered</h1>
<p style="margin-bottom: 1.5rem;">A simple paragraph that will receive margin bottom from the element selector
</p>
</div>
</body>
</html>
from html-to-docx.
the example assumes node >=18 with top level await and a module environment. It works very similar with other environments
from html-to-docx.
To use CSS you can use https://www.npmjs.com/package/inline-css to inline your styles before you convert to docx. This will keep at least some of your style in your document. It'll also remove the style and link elements
from html-to-docx.
@Mtillmann if you have any bandwidth, can you write a short example of this? I think it can be helpful to the community
from html-to-docx.
Related Issues (20)
- minifyHTMLString is not a function
- Lang / time new roman font is not working
- feature: 2 Columns in page
- style改变字体,数字变了,中文还是Times New Roman
- support for line breaks like <br> tag HOT 2
- imgs with src as base64 do not come over
- Is width = 100% achievable?
- How to resize images - is it possible?
- html to docx conversion raise an error when it transform a table with merged cell
- Margins don't work
- ADD page break if content doesn't have enough room
- XML error when using with Vite (React or Vue)
- browser webpack error
- How to preserve border-bottom without table
- Refactoring work done HOT 4
- bug: when an image is nested under spans, xml-builder doesn't pick up the img tag
- README.md does not show how to load the HTMLtoDOCX function HOT 2
- Nested formatting tags are not getting applied
- STRIKE THROUGH Not working HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from html-to-docx.