diff --git a/types/pdfmake/index.d.ts b/types/pdfmake/index.d.ts index 92c84233c4..a812611400 100644 --- a/types/pdfmake/index.d.ts +++ b/types/pdfmake/index.d.ts @@ -1,9 +1,10 @@ -// Type definitions for pdfmake 0.1.38 +// Type definitions for pdfmake 0.1 // Project: http://pdfmake.org // Definitions by: Milen Stefanov // Rajab Shakirov // Enzo Volkmann // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.4 declare module 'pdfmake/build/vfs_fonts' { let pdfMake: { diff --git a/types/pdfmake/pdfmake-tests.ts b/types/pdfmake/pdfmake-tests.ts index 3b0368039a..1913e3fe8a 100644 --- a/types/pdfmake/pdfmake-tests.ts +++ b/types/pdfmake/pdfmake-tests.ts @@ -7,7 +7,6 @@ const definitions = [ 'First paragraph', 'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines' ] - }, { content: [ @@ -15,22 +14,22 @@ const definitions = [ text: 'This is a header, using header style', style: 'header' }, - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Confectum ponit legam, perferendis nomine miserum, animi. Moveat nesciunt triari naturam.\n\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. \n\n', { text: 'Subheader 1 - using subheader style', style: 'subheader' }, - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Confectum ponit legam, perferendis nomine miserum, animi. Moveat nesciunt triari naturam posset, eveniunt specie deorsus efficiat sermone instituendarum fuisse veniat, eademque mutat debeo. Delectet plerique protervi diogenem dixerit logikh levius probabo adipiscuntur afficitur, factis magistra inprobitatem aliquo andriam obiecta, religionis, imitarentur studiis quam, clamat intereant vulgo admonitionem operis iudex stabilitas vacillare scriptum nixam, reperiri inveniri maestitiam istius eaque dissentias idcirco gravis, refert suscipiet recte sapiens oportet ipsam terentianus, perpauca sedatio aliena video.', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Confectum ponit legam, perferendis nomine miserum, animi. Moveat nesciunt triari naturam posset, eveniunt specie deorsus efficiat sermone instituendarum fuisse veniat, eademque mutat debeo. Delectet plerique protervi diogenem dixerit logikh levius probabo adipiscuntur afficitur, factis magistra inprobitatem aliquo andriam obiecta, religionis, imitarentur studiis quam, clamat intereant vulgo admonitionem operis iudex stabilitas vacillare scriptum nixam, reperiri inveniri maestitiam istius eaque dissentias idcirco gravis, refert suscipiet recte sapiens oportet ipsam terentianus, perpauca sedatio aliena video.', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Confectum ponit legam, perferendis nomine miserum, animi. Moveat nesciunt triari naturam posset, eveniunt specie deorsus efficiat sermone instituendarum fuisse veniat, eademque mutat debeo. Delectet plerique protervi diogenem dixerit logikh levius probabo adipiscuntur afficitur, factis magistra inprobitatem aliquo andriam obiecta, religionis, imitarentur studiis quam, clamat intereant vulgo admonitionem operis iudex stabilitas vacillare scriptum nixam, reperiri inveniri maestitiam istius eaque dissentias idcirco gravis, refert suscipiet recte sapiens oportet ipsam terentianus, perpauca sedatio aliena video.\n\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. ', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. ', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. \n\n', { text: 'Subheader 2 - using subheader style', style: 'subheader' }, - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Confectum ponit legam, perferendis nomine miserum, animi. Moveat nesciunt triari naturam posset, eveniunt specie deorsus efficiat sermone instituendarum fuisse veniat, eademque mutat debeo. Delectet plerique protervi diogenem dixerit logikh levius probabo adipiscuntur afficitur, factis magistra inprobitatem aliquo andriam obiecta, religionis, imitarentur studiis quam, clamat intereant vulgo admonitionem operis iudex stabilitas vacillare scriptum nixam, reperiri inveniri maestitiam istius eaque dissentias idcirco gravis, refert suscipiet recte sapiens oportet ipsam terentianus, perpauca sedatio aliena video.', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Confectum ponit legam, perferendis nomine miserum, animi. Moveat nesciunt triari naturam posset, eveniunt specie deorsus efficiat sermone instituendarum fuisse veniat, eademque mutat debeo. Delectet plerique protervi diogenem dixerit logikh levius probabo adipiscuntur afficitur, factis magistra inprobitatem aliquo andriam obiecta, religionis, imitarentur studiis quam, clamat intereant vulgo admonitionem operis iudex stabilitas vacillare scriptum nixam, reperiri inveniri maestitiam istius eaque dissentias idcirco gravis, refert suscipiet recte sapiens oportet ipsam terentianus, perpauca sedatio aliena video.\n\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. ', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. \n\n', { - text: 'It is possible to apply multiple styles, by passing an array. This paragraph uses two styles: quote and small. When multiple styles are provided, they are evaluated in the specified order which is important in case they define the same properties', + text: 'It is possible to apply multiple styles, ', style: ['quote', 'small'] } ], @@ -50,7 +49,6 @@ const definitions = [ fontSize: 8 } } - }, { content: [ @@ -62,14 +60,14 @@ const definitions = [ text: [ 'It is however possible to provide an array of texts ', 'to the paragraph (instead of a single string) and have ', - {text: 'a better ', fontSize: 15, bold: true}, + { text: 'a better ', fontSize: 15, bold: true }, 'control over it. \nEach inline can be ', - {text: 'styled ', fontSize: 20}, - {text: 'independently ', italics: true, fontSize: 40}, + { text: 'styled ', fontSize: 20 }, + { text: 'independently ', italics: true, fontSize: 40 }, 'then.\n\n' ] }, - {text: 'Mixing named styles and style-overrides', style: 'header'}, + { text: 'Mixing named styles and style-overrides', style: 'header' }, { style: 'bigger', italics: false, @@ -79,12 +77,12 @@ const definitions = [ 'Texts are not italics though. It\'s because we\'ve overriden italics back to false at ', 'the paragraph level. \n\n', 'We can also change the style of a single inline. Let\'s use a named style called header: ', - {text: 'like here.\n', style: 'header'}, + { text: 'like here.\n', style: 'header' }, 'It got bigger and bold.\n\n', 'OK, now we\'re going to mix named styles and style-overrides at the inline level. ', 'We\'ll use header style (it makes texts bigger and bold), but we\'ll override ', 'bold back to false: ', - {text: 'wow! it works!', style: 'header', bold: false}, + { text: 'wow! it works!', style: 'header', bold: false }, '\n\nMake sure to take a look into the sources to understand what\'s going on here.' ] } @@ -99,7 +97,6 @@ const definitions = [ italics: true } } - }, { content: [ @@ -112,8 +109,8 @@ const definitions = [ text: [ 'This paragraph uses header style and overrides bold value setting it back to false.\n', 'Header style in this example sets alignment to justify, so this paragraph should be rendered \n', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' - ], + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret ' + ], style: 'header', bold: false } @@ -125,7 +122,6 @@ const definitions = [ alignment: 'justify' } } - }, { content: [ @@ -136,45 +132,46 @@ const definitions = [ alignment: 'justify', columns: [ { - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, { - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' } ] }, - '\nStar-sized columns have always equal widths, so if we define 3 of those, it\'ll look like this (make sure to scroll to the next page, as we have a couple of more examples):\n\n', + '\nStar-sized columns have always equal widths, so if we define 3 of those, ', + 'it\'ll look like this (make sure to scroll to the next page, as we have a couple of more examples):\n\n', { columns: [ { - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, { - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, { - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' } ] }, - '\nYou can also specify accurate widths for some (or all columns). Let\'s make the first column and the last one narrow and let the layout engine divide remaining space equally between other star-columns:\n\n', + '\nYou can also specify accurate widths for some (or all columns)', { columns: [ { width: 90, - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, { width: '*', - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, { width: '*', - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, { width: 90, - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' } ] }, @@ -187,7 +184,8 @@ const definitions = [ }, { width: '*', - text: 'This is a star-sized column. It should get the remaining space divided by the number of all star-sized columns.' + text: 'This is a star-sized column. It should get the remaining' + + ' space divided by the number of all star-sized columns.' }, { width: 50, @@ -199,7 +197,8 @@ const definitions = [ }, { width: '*', - text: 'This is a star-sized column. It should get the remaining space divided by the number of all star-sized columns.' + text: 'This is a star-sized column. It should get the remaining space ' + + 'divided by the number of all star-sized columns.' }, ] }, @@ -224,40 +223,49 @@ const definitions = [ }, ] }, - '\nAnother cool feature of pdfmake is the ability to have nested elements. Each column is actually quite similar to the whole document, so we can have inner paragraphs and further divisions, like in the following example:\n\n', + '\nAnother cool feature of pdfmake is the ability to have nested elements.', { columns: [ { width: 100, fontSize: 9, - text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Conveniunt quieti extremum severitatem disseretur virtute locum virtus declarant. Greges telos detrimenti persius possint eripuit appellat democrito suscipere existimant. Facere usus levitatibus confirmavit, provincia rutilius libris accommodare valetudinis ignota fugienda arbitramur falsarum commodius. Voluptas summis arbitrarer cognitio temperantiamque, fuit posidonium pro assueverit animos inferiorem, affecti honestum ferreum cum tot nemo ius partes dissensio opinor, tuum intellegunt numeris ignorant, odia diligenter licet, sublatum repellere, maior ficta severa quantum mortem. Aut evertitur impediri vivamus.' + text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. ' }, [ - 'As you can see in the document definition - this column is not defined with an object, but an array, which means it\'s treated as an array of paragraphs rendered one below another.', + 'As you can see in the document definition - this column is not defined with ', + 'an object, but an array, which means it\'s treated as an array of paragraphs rendered one below another.', 'Just like on the top-level of the document. Let\'s try to divide the remaing space into 3 star-sized columns:\n\n', { columns: [ - {text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.'}, - {text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.'}, - {text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.'}, + { text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, + { text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, + { text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' }, ] } ] ] }, '\n\nOh, don\'t forget, we can use everything from styling examples (named styles, custom overrides) here as well.\n\n', - 'For instance - our next paragraph will use the \'bigger\' style (with fontSize set to 15 and italics - true). We\'ll split it into three columns and make sure they inherit the style:\n\n', + 'For instance - our next paragraph will use the \'bigger\' style (with fontSize set to 15 and italics - true).', + ' We\'ll split it into three columns and make sure they inherit the style:\n\n', { style: 'bigger', columns: [ - 'First column (BTW - it\'s defined as a single string value. pdfmake will turn it into appropriate structure automatically and make sure it inherits the styles', + 'First column (BTW - it\'s defined as a single string value. pdfmake will turn it into appropriate structure ', + 'automatically and make sure it inherits the styles', { fontSize: 20, - text: 'In this column, we\'ve overriden fontSize to 20. It means the content should have italics=true (inherited from the style) and be a little bit bigger', + text: 'In this column, we\'ve overriden fontSize to 20. It means the content should have italics=true' + + ' (inherited from the style) and be a little bit bigger' }, { style: 'header', - text: 'Last column does not override any styling properties, but applies a new style (header) to itself. Eventually - texts here have italics=true (from bigger) and derive fontSize from the style. OK, but which one? Both styles define it. As we already know from our styling examples, multiple styles can be applied to the element and their order is important. Because \'header\' style has been set after \'bigger\' its fontSize takes precedence over the fontSize from \'bigger\'. This is how it works. You will find more examples in the unit tests.' + text: 'Last column does not override any styling properties, but applies a new style (header) to itself.' + + ' Eventually - texts here have italics=true (from bigger) and derive fontSize from the style.' + + ' OK, but which one? Both styles define it. As we already know from our styling examples, multiple' + + ' styles can be applied to the element and their order is important. Because \'header\' style has been' + + ' set after \'bigger\' its fontSize takes precedence over the fontSize from \'bigger\'. This is how it works. ' + + 'You will find more examples in the unit tests.' } ] }, @@ -276,13 +284,14 @@ const definitions = [ defaultStyle: { columnGap: 20 } - }, { content: [ - {text: 'Tables', style: 'header'}, - 'Official documentation is in progress, this document is just a glimpse of what is possible with pdfmake and its layout engine.', - {text: 'A simple table (no headers, no width specified, no spans, no styling)', style: 'subheader'}, + { text: 'Tables', style: 'header' }, + 'Official documentation is in progress, this document is just', + ' a glimpse of what is possible with pdfmake and its layout engine.', + { text: 'A simple table (no headers, no width specified, no spans, no styling)', + style: 'subheader' }, 'The following table has nothing more than a body array', { style: 'tableExample', @@ -293,8 +302,9 @@ const definitions = [ ] } }, - {text: 'A simple table with nested elements', style: 'subheader'}, - 'It is of course possible to nest any other type of nodes available in pdfmake inside table cells', + { text: 'A simple table with nested elements', style: 'subheader' }, + 'It is of course possible to nest any other type of nodes available in ', + 'pdfmake inside table cells', { style: 'tableExample', table: { @@ -324,16 +334,17 @@ const definitions = [ }, } ], - {text: [ + { + text: [ 'Inlines can be ', - {text: 'styled\n', italics: true}, - {text: 'easily as everywhere else', fontSize: 10}] + { text: 'styled\n', italics: true }, + { text: 'easily as everywhere else', fontSize: 10 }] } ] ] } }, - {text: 'Defining column widths', style: 'subheader'}, + { text: 'Defining column widths', style: 'subheader' }, 'Tables support the same width definitions as standard columns:', { bold: true, @@ -349,7 +360,10 @@ const definitions = [ widths: [100, '*', 200, '*'], body: [ ['width=100', 'star-sized', 'width=200', 'star-sized'], - ['fixed-width cells have exactly the specified width', {text: 'nothing interesting here', italics: true, color: 'gray'}, {text: 'nothing interesting here', italics: true, color: 'gray'}, {text: 'nothing interesting here', italics: true, color: 'gray'}] + ['fixed-width cells have exactly the specified width', + { text: 'nothing interesting here', italics: true, color: 'gray' }, + { text: 'nothing interesting here', italics: true, color: 'gray' }, + { text: 'nothing interesting here', italics: true, color: 'gray' }] ] } }, @@ -367,11 +381,12 @@ const definitions = [ table: { widths: ['*', 'auto'], body: [ - ['This is a star-sized column. The next column over, an auto-sized column, will not wrap to accomodate all the text in this cell, because it has been given the noWrap style.', {text: 'I am auto sized.', noWrap: true}], + ['This is a star-sized column. The next column over, an auto-sized column', + { text: 'I am auto sized.', noWrap: true }], ] } }, - {text: 'Defining row heights', style: 'subheader'}, + { text: 'Defining row heights', style: 'subheader' }, { style: 'tableExample', table: { @@ -399,7 +414,7 @@ const definitions = [ { style: 'tableExample', table: { - heights: function (row) { + heights: (row: number) => { return (row + 1) * 25; }, body: [ @@ -409,7 +424,7 @@ const definitions = [ ] } }, - {text: 'Column/row spans', pageBreak: 'before', style: 'subheader'}, + { text: 'Column/row spans', pageBreak: 'before', style: 'subheader' }, 'Each cell-element can set a rowSpan or colSpan', { style: 'tableExample', @@ -419,20 +434,28 @@ const definitions = [ headerRows: 2, // keepWithHeaderRows: 1, body: [ - [{text: 'Header with Colspan = 2', style: 'tableHeader', colSpan: 2, alignment: 'center'}, {}, {text: 'Header 3', style: 'tableHeader', alignment: 'center'}], - [{text: 'Header 1', style: 'tableHeader', alignment: 'center'}, {text: 'Header 2', style: 'tableHeader', alignment: 'center'}, {text: 'Header 3', style: 'tableHeader', alignment: 'center'}], + [{ text: 'Header with Colspan = 2', style: 'tableHeader', colSpan: 2, alignment: 'center' }, + {}, { text: 'Header 3', style: 'tableHeader', alignment: 'center' }], + [{ text: 'Header 1', style: 'tableHeader', alignment: 'center' }, + { text: 'Header 2', style: 'tableHeader', alignment: 'center' }, + { text: 'Header 3', style: 'tableHeader', alignment: 'center' }], ['Sample value 1', 'Sample value 2', 'Sample value 3'], - [{rowSpan: 3, text: 'rowSpan set to 3\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor'}, 'Sample value 2', 'Sample value 3'], + [{ rowSpan: 3, text: 'rowSpan set to 3\nLorem ipsum dolor sit amet' }, + 'Sample value 2', 'Sample value 3'], ['', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], - ['Sample value 1', {colSpan: 2, rowSpan: 2, text: 'Both:\nrowSpan and colSpan\ncan be defined at the same time'}, ''], + ['Sample value 1', { colSpan: 2, rowSpan: 2, text: 'Both:\nrowSpan and colSpan\ncan be defined at the same time' }, ''], ['Sample value 1', '', ''], ] } }, - {text: 'Headers', pageBreak: 'before', style: 'subheader'}, - 'You can declare how many rows should be treated as a header. Headers are automatically repeated on the following pages', - {text: ['It is also possible to set keepWithHeaderRows to make sure there will be no page-break between the header and these rows. Take a look at the document-definition and play with it. If you set it to one, the following table will automatically start on the next page, since there\'s not enough space for the first row to be rendered here'], color: 'gray', italics: true}, + { text: 'Headers', pageBreak: 'before', style: 'subheader' }, + 'You can declare how many rows should be treated as a header. Headers are', + ' automatically repeated on the following pages', + { text: ['It is also possible to set keepWithHeaderRows to make sure there will be no page-break' + + 'between the header and these rows. Take a look at the document-definition and play with it. ' + + 'If you set it to one, the following table will automatically start on the next page, ' + + 'since there\'s not enough space for the first row to be rendered here'], color: 'gray', italics: true }, { style: 'tableExample', table: { @@ -440,16 +463,17 @@ const definitions = [ // dontBreakRows: true, // keepWithHeaderRows: 1, body: [ - [{text: 'Header 1', style: 'tableHeader'}, {text: 'Header 2', style: 'tableHeader'}, {text: 'Header 3', style: 'tableHeader'}], + [{ text: 'Header 1', style: 'tableHeader' }, { text: 'Header 2', style: 'tableHeader' }, + { text: 'Header 3', style: 'tableHeader' }], [ - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', + 'Lorem ipsum dolor sit amet, ', + 'Lorem ipsum dolor sit amet, ', + 'Lorem ipsum dolor sit amet, ', ] ] } }, - {text: 'Styling tables', style: 'subheader'}, + { text: 'Styling tables', style: 'subheader' }, 'You can provide a custom styler for the table. Currently it supports:', { ul: [ @@ -459,13 +483,14 @@ const definitions = [ ] }, 'with more options coming soon...\n\npdfmake currently has a few predefined styles (see them on the next page)', - {text: 'noBorders:', fontSize: 14, bold: true, pageBreak: 'before', margin: [0, 0, 0, 8]}, + { text: 'noBorders:', fontSize: 14, bold: true, pageBreak: 'before', margin: [0, 0, 0, 8] }, { style: 'tableExample', table: { headerRows: 1, body: [ - [{text: 'Header 1', style: 'tableHeader'}, {text: 'Header 2', style: 'tableHeader'}, {text: 'Header 3', style: 'tableHeader'}], + [{ text: 'Header 1', style: 'tableHeader' }, { text: 'Header 2', style: 'tableHeader' }, + { text: 'Header 3', style: 'tableHeader' }], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], @@ -475,13 +500,14 @@ const definitions = [ }, layout: 'noBorders' }, - {text: 'headerLineOnly:', fontSize: 14, bold: true, margin: [0, 20, 0, 8]}, + { text: 'headerLineOnly:', fontSize: 14, bold: true, margin: [0, 20, 0, 8] }, { style: 'tableExample', table: { headerRows: 1, body: [ - [{text: 'Header 1', style: 'tableHeader'}, {text: 'Header 2', style: 'tableHeader'}, {text: 'Header 3', style: 'tableHeader'}], + [{ text: 'Header 1', style: 'tableHeader' }, { text: 'Header 2', style: 'tableHeader' }, + { text: 'Header 3', style: 'tableHeader' }], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], @@ -491,13 +517,13 @@ const definitions = [ }, layout: 'headerLineOnly' }, - {text: 'lightHorizontalLines:', fontSize: 14, bold: true, margin: [0, 20, 0, 8]}, + { text: 'lightHorizontalLines:', fontSize: 14, bold: true, margin: [0, 20, 0, 8] }, { style: 'tableExample', table: { headerRows: 1, body: [ - [{text: 'Header 1', style: 'tableHeader'}, {text: 'Header 2', style: 'tableHeader'}, {text: 'Header 3', style: 'tableHeader'}], + [{ text: 'Header 1', style: 'tableHeader' }, { text: 'Header 2', style: 'tableHeader' }, { text: 'Header 3', style: 'tableHeader' }], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], @@ -507,13 +533,13 @@ const definitions = [ }, layout: 'lightHorizontalLines' }, - {text: 'but you can provide a custom styler as well', margin: [0, 20, 0, 8]}, + { text: 'but you can provide a custom styler as well', margin: [0, 20, 0, 8] }, { style: 'tableExample', table: { headerRows: 1, body: [ - [{text: 'Header 1', style: 'tableHeader'}, {text: 'Header 2', style: 'tableHeader'}, {text: 'Header 3', style: 'tableHeader'}], + [{ text: 'Header 1', style: 'tableHeader' }, { text: 'Header 2', style: 'tableHeader' }, { text: 'Header 3', style: 'tableHeader' }], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], ['Sample value 1', 'Sample value 2', 'Sample value 3'], @@ -522,26 +548,26 @@ const definitions = [ ] }, layout: { - hLineWidth: function (i, node) { + hLineWidth: (i: number, node: any) => { return (i === 0 || i === node.table.body.length) ? 2 : 1; }, - vLineWidth: function (i, node) { + vLineWidth: (i: number, node: any) => { return (i === 0 || i === node.table.widths.length) ? 2 : 1; }, - hLineColor: function (i, node) { + hLineColor: (i: number, node: any) => { return (i === 0 || i === node.table.body.length) ? 'black' : 'gray'; }, - vLineColor: function (i, node) { + vLineColor: (i: number, node: any) => { return (i === 0 || i === node.table.widths.length) ? 'black' : 'gray'; }, // paddingLeft: function(i, node) { return 4; }, // paddingRight: function(i, node) { return 4; }, // paddingTop: function(i, node) { return 2; }, // paddingBottom: function(i, node) { return 2; }, - // fillColor: function (i, node) { return null; } + // fillColor: (i: number, node: any) => { return null; } } }, - {text: 'zebra style', margin: [0, 20, 0, 8]}, + { text: 'zebra style', margin: [0, 20, 0, 8] }, { style: 'tableExample', table: { @@ -554,12 +580,12 @@ const definitions = [ ] }, layout: { - fillColor: function (i, node) { + fillColor: (i: number, node: any) => { return (i % 2 === 0) ? '#CCCCCC' : null; } } }, - {text: 'Optional border', fontSize: 14, bold: true, pageBreak: 'before', margin: [0, 0, 0, 8]}, + { text: 'Optional border', fontSize: 14, bold: true, pageBreak: 'before', margin: [0, 0, 0, 8] }, 'Each cell contains an optional border property: an array of 4 booleans for left border, top border, right border, bottom border.', { style: 'tableExample', @@ -629,7 +655,8 @@ const definitions = [ defaultBorder: false, } }, - 'For every cell without a border property, whether it has all borders or not is determined by layout.defaultBorder, which is false in the table above and true (by default) in the table below.', + 'For every cell without a border property, whether it has all borders or not is determined by ', + 'layout.defaultBorder, which is false in the table above and true (by default) in the table below.', { style: 'tableExample', table: { @@ -735,7 +762,7 @@ const definitions = [ table: { body: [ [ - {rowSpan: 3, text: 'rowSpan: 3\n\nborder:\n[false, false, false, false]', fillColor: '#eeeeee', border: [false, false, false, false]}, + { rowSpan: 3, text: 'rowSpan: 3\n\nborder:\n[false, false, false, false]', fillColor: '#eeeeee', border: [false, false, false, false] }, 'border:\nundefined', 'border:\nundefined' ], @@ -776,11 +803,10 @@ const definitions = [ defaultStyle: { // alignment: 'justify' } - }, { content: [ - {text: 'Unordered list', style: 'header'}, + { text: 'Unordered list', style: 'header' }, { ul: [ 'item 1', @@ -788,15 +814,15 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nUnordered list with longer lines', style: 'header'}, + { text: '\n\nUnordered list with longer lines', style: 'header' }, { ul: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.', 'item 3' ] }, - {text: '\n\nOrdered list', style: 'header'}, + { text: '\n\nOrdered list', style: 'header' }, { ol: [ 'item 1', @@ -804,15 +830,15 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list with longer lines', style: 'header'}, + { text: '\n\nOrdered list with longer lines', style: 'header' }, { ol: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.', 'item 3' ] }, - {text: '\n\nOrdered list should be descending', style: 'header'}, + { text: '\n\nOrdered list should be descending', style: 'header' }, { reversed: true, ol: [ @@ -821,7 +847,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list with start value', style: 'header'}, + { text: '\n\nOrdered list with start value', style: 'header' }, { start: 50, ol: [ @@ -830,43 +856,45 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list with own values', style: 'header'}, + { text: '\n\nOrdered list with own values', style: 'header' }, { ol: [ - {text: 'item 1', counter: 10}, - {text: 'item 2', counter: 20}, - {text: 'item 3', counter: 30}, - {text: 'item 4 without own value'} + { text: 'item 1', counter: 10 }, + { text: 'item 2', counter: 20 }, + { text: 'item 3', counter: 30 }, + { text: 'item 4 without own value' } ] }, - {text: '\n\nNested lists (ordered)', style: 'header'}, + { text: '\n\nNested lists (ordered)', style: 'header' }, { ol: [ 'item 1', [ - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.', { ol: [ 'subitem 1', 'subitem 2', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - {text: [ - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - ]}, + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + { + text: [ + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + ] + }, - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', 'subitem 4', 'subitem 5', ] @@ -875,33 +903,35 @@ const definitions = [ 'item 3\nsecond line of item3' ] }, - {text: '\n\nNested lists (unordered)', style: 'header'}, + { text: '\n\nNested lists (unordered)', style: 'header' }, { ol: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet', { ul: [ 'subitem 1', 'subitem 2', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - {text: [ - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - ]}, + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + { + text: [ + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + ] + }, - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', 'subitem 4', 'subitem 5', ] @@ -909,45 +939,45 @@ const definitions = [ 'item 3\nsecond line of item3', ] }, - {text: '\n\nUnordered lists inside columns', style: 'header'}, + { text: '\n\nUnordered lists inside columns', style: 'header' }, { columns: [ { ul: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet', ] }, { ul: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet', ] } ] }, - {text: '\n\nOrdered lists inside columns', style: 'header'}, + { text: '\n\nOrdered lists inside columns', style: 'header' }, { columns: [ { ol: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet', ] }, { ol: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet', ] } ] }, - {text: '\n\nNested lists width columns', style: 'header'}, + { text: '\n\nNested lists width columns', style: 'header' }, { ul: [ 'item 1', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'Lorem ipsum dolor sit amet', { ol: [ [ @@ -981,24 +1011,26 @@ const definitions = [ 'subitem 2 in a vertical container', ], 'subitem 2', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - {text: [ - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - ]}, + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + { + text: [ + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + ] + }, - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', - 'subitem 3 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', + 'subitem 3 - Lorem ipsum dolor sit amet', 'subitem 4', 'subitem 5', ] @@ -1006,7 +1038,7 @@ const definitions = [ 'item 3\nsecond line of item3', ] }, - {text: '\n\nUnordered list with square marker type', style: 'header'}, + { text: '\n\nUnordered list with square marker type', style: 'header' }, { type: 'square', ul: [ @@ -1015,7 +1047,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nUnordered list with circle marker type', style: 'header'}, + { text: '\n\nUnordered list with circle marker type', style: 'header' }, { type: 'circle', ul: [ @@ -1024,7 +1056,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nColored unordered list', style: 'header'}, + { text: '\n\nColored unordered list', style: 'header' }, { color: 'blue', ul: [ @@ -1033,7 +1065,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nColored unordered list with own marker color', style: 'header'}, + { text: '\n\nColored unordered list with own marker color', style: 'header' }, { color: 'blue', markerColor: 'red', @@ -1043,7 +1075,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nColored ordered list', style: 'header'}, + { text: '\n\nColored ordered list', style: 'header' }, { color: 'blue', ol: [ @@ -1052,7 +1084,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nColored ordered list with own marker color', style: 'header'}, + { text: '\n\nColored ordered list with own marker color', style: 'header' }, { color: 'blue', markerColor: 'red', @@ -1062,7 +1094,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list - type: lower-alpha', style: 'header'}, + { text: '\n\nOrdered list - type: lower-alpha', style: 'header' }, { type: 'lower-alpha', ol: [ @@ -1071,7 +1103,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list - type: upper-alpha', style: 'header'}, + { text: '\n\nOrdered list - type: upper-alpha', style: 'header' }, { type: 'upper-alpha', ol: [ @@ -1081,7 +1113,7 @@ const definitions = [ ] }, - {text: '\n\nOrdered list - type: upper-roman', style: 'header'}, + { text: '\n\nOrdered list - type: upper-roman', style: 'header' }, { type: 'upper-roman', ol: [ @@ -1092,7 +1124,7 @@ const definitions = [ 'item 5' ] }, - {text: '\n\nOrdered list - type: lower-roman', style: 'header'}, + { text: '\n\nOrdered list - type: lower-roman', style: 'header' }, { type: 'lower-roman', ol: [ @@ -1103,7 +1135,7 @@ const definitions = [ 'item 5' ] }, - {text: '\n\nOrdered list - type: none', style: 'header'}, + { text: '\n\nOrdered list - type: none', style: 'header' }, { type: 'none', ol: [ @@ -1112,7 +1144,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nUnordered list - type: none', style: 'header'}, + { text: '\n\nUnordered list - type: none', style: 'header' }, { type: 'none', ul: [ @@ -1121,7 +1153,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list with own separator', style: 'header'}, + { text: '\n\nOrdered list with own separator', style: 'header' }, { separator: ')', ol: [ @@ -1130,7 +1162,7 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list with own complex separator', style: 'header'}, + { text: '\n\nOrdered list with own complex separator', style: 'header' }, { separator: ['(', ')'], ol: [ @@ -1139,20 +1171,20 @@ const definitions = [ 'item 3' ] }, - {text: '\n\nOrdered list with own items type', style: 'header'}, + { text: '\n\nOrdered list with own items type', style: 'header' }, { ol: [ 'item 1', - {text: 'item 2', listType: 'none'}, - {text: 'item 3', listType: 'upper-roman'} + { text: 'item 2', listType: 'none' }, + { text: 'item 3', listType: 'upper-roman' } ] }, - {text: '\n\nUnordered list with own items type', style: 'header'}, + { text: '\n\nUnordered list with own items type', style: 'header' }, { ul: [ 'item 1', - {text: 'item 2', listType: 'none'}, - {text: 'item 3', listType: 'circle'} + { text: 'item 2', listType: 'none' }, + { text: 'item 3', listType: 'circle' } ] }, ], @@ -1165,20 +1197,20 @@ const definitions = [ defaultStyle: { fontSize: 12 } - }, { content: [ { stack: [ 'This header has both top and bottom margins defined', - {text: 'This is a subheader', style: 'subheader'}, + { text: 'This is a subheader', style: 'subheader' }, ], style: 'header' }, { text: [ - 'Margins have slightly different behavior than other layout properties. They are not inherited, unlike anything else. They\'re applied only to those nodes which explicitly ', + 'Margins have slightly different behavior than other layout properties. ', + 'They are not inherited, unlike anything else. They\'re applied only to those nodes which explicitly ', 'set margin or style property.\n', ] }, @@ -1188,36 +1220,39 @@ const definitions = [ }, { stack: [ - {text: [ + { + text: [ 'This line begins a stack of paragraphs. The whole stack uses a ', - {text: 'superMargin', italics: true}, + { text: 'superMargin', italics: true }, ' style (with margin and fontSize properties).', ] }, - {text: ['When you look at the', {text: ' document definition', italics: true}, ', you will notice that fontSize is inherited by all paragraphs inside the stack.']}, + { text: ['When you look at the', { text: ' document definition', italics: true }, + ', you will notice that fontSize is inherited by all paragraphs inside the stack.'] }, 'Margin however is only applied once (to the whole stack).' ], style: 'superMargin' }, { stack: [ - 'I\'m not sure yet if this is the desired behavior. I find it a better approach however. One thing to be considered in the future is an explicit layout property called inheritMargin which could opt-in the inheritance.\n\n', + 'I\'m not sure yet if this is the desired behavior. I find it a better approach however.', + ' One thing to be considered in the future is an explicit layout property called inheritMargin which could opt-in the inheritance.\n\n', { fontSize: 15, text: [ 'Currently margins for ', /* the following margin definition doesn't change anything */ - {text: 'inlines', margin: 20}, + { text: 'inlines', margin: 20 }, ' are ignored\n\n' ], }, - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.\n', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.\n', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.\n', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.\n', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.\n', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.\n', - 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Malit profecta versatur nomine ocurreret multavit, officiis viveremus aeternum superstitio suspicor alia nostram, quando nostros congressus susceperant concederetur leguntur iam, vigiliae democritea tantopere causae, atilii plerumque ipsas potitur pertineant multis rem quaeri pro, legendum didicisse credere ex maluisset per videtis. Cur discordans praetereat aliae ruinae dirigentur orestem eodem, praetermittenda divinum. Collegisti, deteriora malint loquuntur officii cotidie finitas referri doleamus ambigua acute. Adhaesiones ratione beate arbitraretur detractis perdiscere, constituant hostis polyaeno. Diu concederetur.\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.\n', + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.\n', ], margin: [0, 20, 0, 0], alignment: 'justify' @@ -1238,7 +1273,6 @@ const definitions = [ fontSize: 15 } } - }, { content: [ @@ -1264,14 +1298,13 @@ const definitions = [ fit: [100, 100], pageBreak: 'after' }, - // Warning! Make sure to copy this definition and paste it to an // external text editor, as the online AceEditor has some troubles // with long dataUrl lines and the following image values look like // they're empty. 'Images can be also provided in dataURL format...', { - image: 'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7', + image: 'data:image/gif;base64,...', width: 200 }, 'or be declared in an "images" dictionary and referenced by name', @@ -1281,9 +1314,8 @@ const definitions = [ }, ], images: { - building: 'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7' + building: 'data:image/gif;base64,...' } - } ]; @@ -1292,7 +1324,7 @@ const createPdf = () => { pdf.vfs = pdfFonts.pdfMake.vfs; for (const definition of definitions) { - const typedDefinition: pdfMake.TDocumentDefinitions = definition; - pdfMake.createPdf(typedDefinition).download(); + const typedDefinition: pdfMake.TDocumentDefinitions = definition; + pdfMake.createPdf(typedDefinition).download(); } };