Генериране на PDF файлове с PHP

Съдържание
Файловете PDF Те са се превърнали практически в стандарт в мрежата за предаване на документи, като гарантират, че те не губят формата си при смяна на платформи и че те също ще бъдат отпечатани точно по начина, по който се виждат, освен това те не могат да бъдат променяни, ако сме приложили определени контроли за същото.
Това означава, че когато бъдем помолени да генерираме изход в стил на отчет от система, в която сме създали PHP, една от опциите заедно с генерирането на файл CSV е генерирането на файл PDF.
FPDFЗа да разрешим този проблем, можем да се поддържаме в общността PHP и вземете библиотеката FPDF, която не се нуждае от допълнителна конфигурация на сървъра. Това прави тази библиотека голяма помощ и че можем да я приложим дори в услугите Споделяне на хостинг където достъпът до настройките обикновено е ограничен от доставчика на услуги.
За да създадем първия си документ PDF първо трябва да се уверим, че разбираме какво е файл PDF. Съкращенията му съответстват на английския на Преносим формат на документи и е създаден от компанията Adobe за да улесним начина, по който различните документи, които можем да генерираме и които трябва да изпратим на други хора, се споделят.
А PDF Състои се от няколко страници, които преминават от една страница до тези, на които паметта на нашето оборудване устоява. Всяка страница ще съдържа текст, графики, цветове, изображения и т.н. При генериране на a PDF, това може да се изтегли от браузъра или с някои добавки, да се чете и показва директно онлайн, затова е толкова мощен, единственият му недостатък, а също и едно от най-големите му достойнства е, че не е създаден за промяна в момента.
Тъй като сме свършили домашното, за да разберем частта зад и преди кода, ще генерираме първия си файл. Ще създадем документ с една страница и в това ще включим малък текст.
Как да го направим?За да постигнем целта, трябва да създадем нов документ PHP и в първия му ред след отварянето на етикетите трябва да направим включването на библиотеката FPDF, ще направим това с инструкцията изисквам () тъй като по този начин, ако не намерим библиотеката, програмата ще даде грешка и по този начин няма да има възможности нещо да бъде изпълнено и да получи нежелан резултат.
След това ще създадем тип обект FPDF върху които ще приложим някои методи, като напр addPage () за да добавим нов лист към нашето бъдеще PDF, или клетка () за създаване на раздел вътре в листа и накрая изход () който е този, който изпраща резултата до браузъра.
Нека да видим примерния код, за да можем да разберем всичко, което сме обяснили:
 addPage (); $ pdf-> setFont ("Arial", 'B', 18); $ pdf-> cell (50, 20, "Здравейте! Създадохме първия си PDF !!"); $ pdf-> изход (); 

Тук единственото допълнително нещо, което виждаме, е методът setFont () което ни позволява да изберем семейството на шрифтовете за текста, неговия стил, тоест ако е курсив, с удебелен курсив и неговия размер в пиксели, в случай на кода сме поставили Arial, B за удебелен шрифт и размер на 18 пиксела.
В метода клетка () първите параметри се отнасят до местоположението на текста в документа, а последният е текстът, който трябва да се появи. Най -накрая изход () ни дава резултата за показване. Когато изпълнявате това на тестов сървър, като напр Wamp, можем да видим резултат, подобен на следния:

Увеличете

Можем да забележим набора от контроли в горната част, които ни показват, че PDF беше интерпретиран от браузъра без проблем.
Това, което видяхме, може да ни помогне да излезем от документ бързо и без много изисквания, но това не означава, че нашият PDF те не могат да бъдат по -сложни и да имат повече подробности.
При създаването на екземпляра на FPDF, можем да дефинираме някои параметри в конструктора на класа, които могат да ни помогнат да му дадем повече елементи, които могат да променят стила на нашия PDF, можем да преминем от толкова елементарни неща, като например промяната на ориентацията на документа от портретна към пейзажна към промяна на метричната система, с която той ще изминава разстоянията.
Нека да видим някои от свойствата, които можем да променим, когато генерираме a PDF с FPDF в PHP:
ОриентацияИмаме два възможни варианта P за вертикалната или портретна форма, оттук и началната му от Портретен режим на английски и имаме L за пейзажен формат или Пейзаж също съответства на английския език.
Мерна единицаЗа мерната единица имаме три възможности pt за точки, в за инчове и см За сантиметри, в зависимост от държавата, в която живеем, и резултатите, които искаме, можем да варираме мерната единица до нещо, което е по -удобно за нас.
Размер на страницатаДруга жизненоважна характеристика, тъй като обикновено за отпечатването на документите трябва да установим адекватен размер за нашия документ, тук имаме Писмо за размера на буквата, Правни за правен размер, тогава имаме и други популярни формати като A3, A5 или A4. Ако задълбаем в документацията на FPDF Можем дори да видим, че има възможност за генериране на наши собствени размери за листа.
Тъй като научихме, че има допълнителни функции за генериране на нашия документ, е време да генерираме нов пример, за това ще приложим конфигурациите в конструктора на класа, а също така ще използваме координатите за намиране на елементите в същия лист ..
Координатите (0,0) е система, която ни позволява да разположим елемента в нашата хоризонтална X и вертикална Y равнина PDF с това можем да контролираме точно разположението на тези елементи. Нека да разгледаме кода, за да усетим всичко това:
 addPage (); $ pdf-> setFont ('Arial', 'B', 16); $ pdf-> клетка (0,0, "Горен ляв ъгъл", 0, 0, 'L'); $ pdf-> клетка (0,0, "Горен десен ъгъл", 0, 0, 'R'); $ pdf-> ln (2.5); $ pdf-> клетка (0, 0, "В средата", 0, 0, 'C'); $ pdf-> ln (5.3); $ pdf-> клетка (0, 0, "Долу вляво", 0, 0, 'L'); $ pdf-> клетка (0, 0, "Долу вдясно", 0, 0, 'R'); $ pdf-> изход (); 

На първо място виждаме това, след като включихме нашата библиотека FPDF ще създадем съответния обект, в конструктора на класа преминаваме ориентацията P, мерната единица в и накрая размерът на листа писмо, след това добавяме страница и следващото действие задаваме шрифта за текста.
С координатите ще играем малко и ще ги променим, за да видим разликата с вертикалната ос, вдясно от метода клетка виждаме някои допълнителни числа, те се използват за създаване на редове и буквата L, R или C съответства на обосновката на текста, тоест подравнен вляво, вдясно или в центъра.
Методът ln () ни позволява да преминем мярка, така че да се генерира интервал, като този в този пример ln (2.5) ще се измести 2,5 инча преди следващото обаждане на метод клетка () затова виждаме това в генерирането на следния текст, който казва По средата тя ще се появи много по -ниско в документа. Нека да видим как изглежда това, когато се изпълнява на локалния сървър:

Забелязваме в горната част как изглежда нашата игра с координатите, където първият текст е много по -висок от втория и пространствата, генерирани в документа. Ако слезем надолу, можем да видим долната част на нашия документ и местоположението на текста, който сме поставили.
Включени шрифтове и стиловеТъй като видяхме как да създадем документ по основен начин, ще видим какви текстови стилове имаме първоначално на разположение с нашата библиотека FPDF.
Шрифтовете, които можем да поставим по подразбиране, са:
  • Arial.
  • Times
  • Хелветика
  • Куриер
  • Символ
  • ZapfDingbats
Въпреки това, можем да използваме персонализирани шрифтове, просто като имаме файла, съответстващ на него, и можем да ги добавим с метода addFont (). Стиловете, които можем да използваме са:
  • B за удебелен шрифт.
  • Аз за курсив.
  • U за подчертаване.
Например, за да включите всички тези стилове, достатъчно е да ги поставите един до друг в момента, в който дефинираме шрифта на текста:
$ pdf-> setFont ("Куриер", "IBU", 10);

Отбелязваме тогава, че е много лесно да промените това. Ако също искаме да добавим цвят, просто извикаме метода setTextColor и му предайте кода на същия във формат RGB. Например:
$ pdf-> setTextColor (255, 0, 0);

За червен цвят на нашия текст. Като задача ще оставим тези нови инструкции да се прилагат в някои от PDF вече създадени в урока по начин, който подсилва знанията.
С това приключихме, научихме се да генерираме файлове PDF по прост и много бърз начин само чрез включване на библиотека в нашия проект в PHP. Много е важно да видите официалната документация на FPDF тъй като има и други функции, които могат да ни помогнат при създаването на по -добри документи.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave