ایجاد فایلهای PDF از طریق API جاوا اسکریپت رایگان
کتابخانه جاوا اسکریپت خالص منبع باز از تولید و دستکاری اسناد PDF برای Node و مرورگر وب پشتیبانی می کند.
PDFMake یک کتابخانه جاوا اسکریپت منبع باز بسیار قدرتمند است که توسعه دهندگان نرم افزار را قادر می سازد تا وظایف مربوط به تولید و دستکاری سند PDF را با استفاده از دستورات جاوا اسکریپت انجام دهند. نکته مهم در مورد کتابخانه این است که می توانید به راحتی داده ها را برای تولید PDF با استفاده از فرمت شی تعریف سند مشخص کنید.
کتابخانه PDFmake از چندین ویژگی مهم مرتبط با مدیریت اسناد PDF مانند افزودن تصاویر و محتوای متنی به اسناد PDF، بسته بندی خطوط، ترازبندی متن، درج و مدیریت جداول، استفاده از سبک ها، افزودن سرصفحه و پاورقی صفحه، جهت گیری صفحه، و حاشیه پشتیبانی می کند. پشتیبانی، جاسازی فونت و گرافیک، جداول تولید محتوا، پشتیبانی از شکست صفحه و بسیاری موارد دیگر.
کتابخانه بسیار پایدار است و به راحتی می توان از آن در سمت سرویس گیرنده و همچنین سمت سرور استفاده کرد. در مرورگر و در Node.js قابل اجرا است. این شامل پشتیبانی از چندین مرورگر محبوب مانند Internet Explorer 10+، Edge 12+، Firefox، Chrome، Opera، Safari و غیره است.
شروع کار با PDFMake
PDFMake در npm در دسترس است، شما به راحتی می توانید آن را دانلود و بر روی دستگاه خود نصب کنید. لطفا برای نصب راحت از دستور زیر استفاده کنید.
PDFMake را با استفاده از bower نصب کنید
bower install pdfmake
با استفاده از کتابخانه جاوا اسکریپت فایل های PDF تولید کنید
کتابخانه جاوا اسکریپت منبع باز PDFMake این امکان را برای برنامه نویسان نرم افزار فراهم می کند تا اسناد PDF را در داخل برنامه های خود با استفاده از کد جاوا اسکریپت تولید کنند. این کتابخانه مجموعه کاملی از ویژگی ها را برای کار با فایل های PDF داده است، مانند انتخاب انواع فونت با اندازه، رنگ و قالب بندی، افزودن صفحه جدید، درج ستون، افزودن و اعمال سبک، درج جداول، حذف صفحات ناخواسته و بسیاری از موارد. بیشتر.
اضافه کردن سرصفحه و پاورقی به فایل PDF
سرصفحه ها و پاورقی ها بخش های بسیار مفیدی از اسناد PDF هستند و می توانند برای گنجاندن بخشی از محتوایی که کاربران می خواهند در هر صفحه یک سند ظاهر شود مانند نام نویسنده، عنوان سند، شماره صفحه، لوگو و موارد دیگر استفاده شوند. کتابخانه جاوا اسکریپت PDFMake پشتیبانی کاملی را برای افزودن و اصلاح سرصفحه ها و پاورقی ها به یک سند PDF ارائه کرده است. از ویژگی هایی مانند افزودن هدر/پانویس تکراری، درج تصاویر در سرصفحه/پانویس، افزودن شماره صفحات و موارد دیگر پشتیبانی می کند.
هدرها و پاورقی ها به PDF از طریق جاوا اسکریپت
var docDefinition = {
header: 'simple text',
footer: {
columns: [
'Left part',
{ text: 'Right part', alignment: 'right' }
]
},
content: (...)
};
درج تصاویر در فایل های PDF
کتابخانه جاوا اسکریپت متن باز PDFMake پشتیبانی کاملی را برای افزودن و همچنین اصلاح تصاویر درون فایل های PDF با استفاده از دستورات جاوا اسکریپت ارائه کرده است. این کتابخانه ویژگی هایی را برای تنظیم عرض و ارتفاع تصویر، قرار دادن تصویر در داخل مستطیل، فراخوانی تصویر از طریق URL ها، مقیاس بندی تصویر متناسب و کشش تصویر ارائه کرده است. اگر می خواهید از یک تصویر در چندین گره استفاده کنید، باید آن را در فرهنگ لغت تصویر قرار دهید و فقط آن را با نام صدا بزنید.
اضافه کردن تصاویر به PDF از طریق جاوا اسکریپت
var docDefinition = {
content: [
{
// you'll most often use dataURI images on the browser side
// if no width/height/fit is provided, the original size will be used
image: 'data:image/jpeg;base64,...encodedContent...'
},
{
// if you specify width, image will scale proportionally
image: 'data:image/jpeg;base64,...encodedContent...',
width: 150
},
{
// if you specify both width and height - image will be stretched
image: 'data:image/jpeg;base64,...encodedContent...',
width: 150,
height: 150
},
{
// you can also fit the image inside a rectangle
image: 'data:image/jpeg;base64,...encodedContent...',
fit: [100, 100]
},
{
// if you reuse the same image in multiple nodes,
// you should put it to to images dictionary and reference it by name
image: 'mySuperImage'
},
{
image: 'myImageDictionary/image1.jpg'
},
{
// in browser is supported loading images via url from reference by name in images
image: 'snow'
},
{
image: 'strawberries'
},
],
images: {
mySuperImage: 'data:image/jpeg;base64,...content...',
snow: 'https://picsum.photos/seed/picsum/200/300',
strawberries: {
url: 'https://picsum.photos/id/1080/367/267'
headers: {
myheader: '123',
myotherheader: 'abc',
}
}
}
};
جهت گیری صفحه و پشتیبانی از حاشیه
کتابخانه رایگان جاوا اسکریپت PDFMake شامل پشتیبانی از تنظیم اندازه صفحه، جهت گیری صفحه و همچنین حاشیه صفحه در برنامه های جاوا اسکریپت است. برای تنظیم اندازه صفحه باید عرض و ارتفاع صفحه جدید را ارائه دهید. بهطور پیشفرض، کتابخانه از جهتگیری صفحه عمودی استفاده میکند، اما میتواند به راحتی آن را به صورت افقی با کد یک خطی تنظیم کند. همچنین از تنظیم حاشیههای صفحه پشتیبانی میکند و به کاربران اجازه میدهد تا به صورت پویا شکستگیهای صفحه را کنترل کنند. از حاشیه های چپ، بالا، راست، پایین و همچنین افقی و عمودی پشتیبانی می کند.
ساخت کتابخانه برای کامپایلر
var dd = {
content: [
{
stack: [
'This header has both top and bottom margins defined',
{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 ',
'set margin or style property.\n',
]
},
{
text: 'This paragraph (consisting of a single line) directly sets top and bottom margin to 20',
margin: [0, 20],
},
{
stack: [
{text: [
'This line begins a stack of paragraphs. The whole stack uses a ',
{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.']},
'Margin however is only applied once (to the whole stack).'
],
style: 'superMargin'
},
],
styles: {
header: {
fontSize: 18,
bold: true,
alignment: 'right',
margin: [0, 190, 0, 80]
},
subheader: {
fontSize: 14
},
superMargin: {
margin: [20, 0, 40, 0],
fontSize: 15
}
}
}
قرار دادن جداول به PDF از طریق جاوا اسکریپت
کتابخانه متن باز PDFMake به برنامه نویسان کامپیوتر امکان می دهد تا جداول را در فایل های PDF قرار داده و به روز کنند. این کتابخانه از ویژگیهای پیشرفته مختلف برای مدیریت ستونها و سلولهای ردیفهای جدول پشتیبانی میکند. این شامل پشتیبانی از تراز جدول، سبک حاشیه جدول، تعریف عرض بر حسب درصد، چرخش جداول، تعریف ردیف Table Header در صفحه جدید و بسیاری موارد دیگر است.
ساخت کتابخانه برای کامپایلر
var docDefinition = {
content: [
{
layout: 'lightHorizontalLines', // optional
table: {
// headers are automatically repeated if the table spans over multiple pages
// you can declare how many rows should be treated as headers
headerRows: 1,
widths: [ '*', 'auto', 100, '*' ],
body: [
[ 'First', 'Second', 'Third', 'The last one' ],
[ 'Value 1', 'Value 2', 'Value 3', 'Value 4' ],
[ { text: 'Bold value', bold: true }, 'Val 2', 'Val 3', 'Val 4' ]
]
}
}
]
};
pdfMake.createPdf(docDefinition, tableLayouts, fonts, vfs)
// tableLayouts, fonts and vfs are all optional - falsy values will cause