
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
html2pdfmake
Advanced tools
Advanced HTML to PDFMake DocDefinition parser.
Parse HTML/DOM to pdfmake.
npm i html2pdfmake
yarn add html2pdfmake
<div id="template">
<p>Text</p>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.3.0-beta.2/pdfmake.min.js"></script>
<script type="module">
import {parse} from 'https://cdn.jsdelivr.net/npm/html2pdfmake/dist/html2pdfmake.mjs';
const {content, images, patterns} = parse(document.getElementById('template'));
pdfMake.createPdf({
// everything else
content,
images,
patterns
})
</script>
<div id="template">
<p>Text</p>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.3.0-beta.2/pdfmake.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/html2pdfmake/lib/html2pdfmake.min.js"></script>
<script>
const {content, images, patterns} = html2pdfmake.parse(document.getElementById('template'));
pdfMake.createPdf({
// everything else
content,
images,
patterns
})
</script>
Pass the config as the second parameter in parse
function.
// parse('<div></div>', config);
export type Config = {
globalStyles?: CssStyles, // custom global styles
styles: CssStyles, // additional styles merged that overwrites globals styles
nodeRule?: NodeRule // set the custom node rule. Return undefined if pre-defined rules should be applied.
styleRule?: StyleRule // set the custom style rule. Return false if pre-defined rules should be applied.
collapseMargin: true, // Enable/Disable margin collapse
collapseWhitespace: true, // Enable/Disable witespace collapse
render: (e, data) => e, // set render function for header/footer
document: () => window.document, // set the global document object
parseCss: (style: NodeListOf<HTMLStyleElement>) => {}, // define <style> parser
defaultFont: 'Roboto', // set the default font
fonts?: TFontDictionary // pass the fonts that you are using for pdfmake to filter unsupported fonts.
}
const config = {
nodeRule: (el) => {
if (el.nodeName === '#text') {
return {
text: 'My Custom text'
};
}
return undefined; // use pre-defined rules
}
}
const config = {
styleRule: (directive, value, props) => {
if (directive === 'color') {
props.color = 'red';
return true; //
}
return false;
}
}
Install a HTML parser like JSDOM.
npm i http-server -g
npm i
npm run watch
# open new terminal
http-server .
# open localhost:8080
FAQs
HTML/DOM to pdfmake
We found that html2pdfmake demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.