Pulsuz JavaScript API vasitəsilə PDF fayllarının yaradılması
Açıq Mənbəli JavaScript Kitabxanası PDF sənədlərini yaratmağa, redaktə etməyə və çap etməyə, PDF-lərə cədvəllər, şəkillər və başlıqlar və ya altbilgilər əlavə etməyə imkan verir.
Server tərəfində, eləcə də müştəri tərəfində PDF sənədləri yaratmaq və idarə etmək üçün istifadəsi asan kitabxana axtarırsınız. PDFMake-Wrapper, PDF sənədlərinizi öz JavaScript proqramlarınızda daha az səy və daha az xərclə idarə etmək üçün əla seçim ola bilər. Bu, proqram mühəndislərinə heç bir xarici asılılıq olmadan faydalı PDF sənədləri və hesabatlar yaratmaq imkanı verən açıq mənbəli təmiz JavaScript kitabxanasıdır.
PDFMake-Wrapper kitabxanası PDF sənədlərinin yaradılması və idarə edilməsi ilə bağlı bir sıra mühüm əsas, eləcə də qabaqcıl funksiyalar üçün dəstəyi ehtiva edir, məsələn, xətt sarğı, mətn hizalamaları, kənarlardan istifadə, üslubların yaradılması və tətbiqi, cədvəl və sütunlardan istifadə, müştəri/ server tərəfində PDF çapı, səhifə başlıqları və altbilgiləri daxil edin, səhifə sayı, fərdi səhifə fasilələri, şrift daxil edilməsi, məzmun cədvəli, PDF metadatasının çıxarılması və s. Bu, PDF sənədlərini asan və daha sürətli şəkildə inkişaf etdirmək funksiyalarını təmin edən sarğı kitabxanasıdır. PDFMake-Wrapper-in əla xüsusiyyətlərindən biri odur ki, o, istifadəçilərə asanlıqla nail olmaq istədiklərinə diqqət yetirmək imkanı verən deklarativ yanaşmanı qəbul etmişdir. Kitabxana çox sabitdir və müştəri və server tərəfində asanlıqla istifadə edilə bilər.
PDFMake-Wrapper ilə işə başlamaq
PDFMake-Wrapper npm-də mövcuddur, Siz onu asanlıqla yükləyə və maşınınıza quraşdıra bilərsiniz. Bu kitabxanadan istifadə etmək üçün bu üç paketi quraşdırmalısınız.
PDFMake proqramını npm vasitəsilə quraşdırın
npm install pdfmake --save
@types/pdfmake, yazma xətalarının qarşısını almaq üçün pdfmake növlərini ehtiva edir.
npm install @types/pdfmake --save-dev
Npm< vasitəsilə pdfmake-wrapper quraşdırın
npm install pdfmake-wrapper --save
JavaScript vasitəsilə PDF sənədlərini yaradın və idarə edin
Açıq mənbəli PDFMake-Wrapper kitabxanası JavaScript-də PDF sənədləri yaratmaq üçün əla seçimdir. O, proqram tərtibatçılarına brauzerdə (müştəri tərəfində) və Node.js-də (server tərəfində) cəmi bir neçə sətir JavaScript kodu ilə PDF sənədləri yaratmağa imkan verir. PDF faylı yaradıldıqdan sonra onu dəyişdirə, həmçinin mətn daxil edə, şriftləri və qrafikləri daxil edə, müxtəlif üslublardan seçib tətbiq edə, xarici şəkillər daxil edə və s. edə bilərsiniz. HTML-dən PDF faylı yaratmaq da mümkündür, lakin bunun üçün sizə html2canvas lazımdır.
JavaScript vasitəsilə HTML-dən PDF faylını necə yaratmaq olar
html2canvas(document.getElementById('exportthis'), {
onrendered: function (canvas) {
var data = canvas.toDataURL();
var docDefinition = {
content: [{
image: data,
width: 500,
}]
};
pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
}
});
JavaScript vasitəsilə PDF Faylına Başlıqlar və Altbilgilər Əlavəsi
Açıq mənbəli PDFMake-Wrapper kitabxanası proqram tərtibatçılarına yalnız bir neçə sətir kodla PDF sənədlərinə başlıq və altbilgi əlavə etməyi çox asanlaşdırır. Başlıq/altbilgi bölməsinin daxilində bir şəkil istifadə etmək də mümkündür. Başlıq/altbilgi bölməsinə səhifə nömrəsi, şirkət loqosu, müəllif adı, səhifə sayı, səhifə ölçüsü və s. kimi digər məzmunu əlavə etmək də mümkündür. Müxtəlif üslub və formatlaşdırma növlərini tətbiq etmək də mümkündür. Başlıq və ya altbilgi bölməsində lazım olduqda daxili üslubdan daha yaxşı istifadə edin.
JS Kitabxanası vasitəsilə PDF daxilində cədvəlləri daxil edin və idarə edin
PDFMake-Wrapper kitabxanası PDF sənədləri daxilində cədvəllərdən istifadə etmək üçün tam dəstək verdi. Sıfırdan yeni cədvəllər yaratmaq, cədvəllər üçün başlıqlar əlavə etmək, mövcud cədvəllərin ölçüsünü dəyişmək, başlıqlara format əlavə etmək, yeni xanalar daxil etmək, sütun və xanaları birləşdirmək, cədvəllərə üslub tətbiq etmək kimi JavaScript proqramları daxilində mürəkkəb cədvəlləri idarə etmək üçün müxtəlif faydalı funksiyalar təqdim edir. və sair.
JS API vasitəsilə PDF Cədvəllərində Sütunları Necə Birləşdirmək olar?
new Table([
[
new Txt('Name').bold().end,
new Txt('Address').bold().end,
new Txt('Email').bold().end,
new Txt('Phone').bold().end
],
[new Cell(new Txt('A').end).colSpan(4).end, null, null, null],
['Anastasia', 'Some direction 1', 'anastasia@domain.com', '123 4566 187'],
['Alexander', 'Some direction 2', 'alexander@domain.com', '123 4566 187'],
[new Cell(new Txt('C').end).colSpan(4).end, null, null, null],
['Clementine', 'Some direction 3', 'clementine@domain.com', '123 4566 187'],
['Chelsey', 'Some direction 4', 'chelsey@domain.com', '123 4566 187'],
[new Cell(new Txt('N').end).colSpan(4).end, null, null, null],
['Nicholas', 'Some direction 5', 'nicholas@domain.com', '123 4566 187'],
])
.widths(...)
.heights(...)
.end;
JavaScript API vasitəsilə PDF daxilində vektorlar çəkin
P PDFMake-Wrapper kitabxanası proqram tərtibatçılarına asanlıqla PDF sənədlərinin içərisində vektor formaları çəkməyə imkan verir. PDF fayllarında vektorları çəkmək üçün vektorların çəkiləcəyi bir kətan yaratmaq tələb olunur. Xahiş edirik unutmayın ki, sıra kətan üzərində vacibdir, sonuncu vektor digərlərinin üstündə olacaq. Yaradıldıqdan sonra onu öz ehtiyaclarınıza uyğun olaraq ölçüsünü dəyişdirə və asanlıqla əvəz edə bilərsiniz.
JavaScript vasitəsilə PDF daxilində xətt çəkin
import { Line } from '../../../src';
describe('Line definition class', () => {
it('should be instanced', () => {
const line = new Line(10, 10);
expect( line.end ).toBeTruthy();
});
it('should be a simple line', () => {
const line = new Line(10, 10).end;
expect( line ).toEqual({
type: 'line',
x1: 10,
y1: 10,
x2: 10,
y2: 10
});
});
it('should be a line vector with full properties', () => {
const line = new Line(10, 10)
.color('red')
.dash(5)
.fillOpacity(0.1)
.lineColor('blue')
.lineWidth(3)
.linearGradient(['green', 'yellow'])
.lineCap('round')
.end;
expect( line ).toEqual({
type: 'line',
x1: 10,
y1: 10,
x2: 10,
y2: 10,
color: 'red',
dash: { length: 5 },
fillOpacity: 0.1,
lineColor: 'blue',
lineWidth: 3,
linearGradient: ['green', 'yellow'],
lineCap: 'round'
});
});
});