Bezmaksas C PDF API, lai ģenerētu jaunas PDF un pievienotu attēlus/svītrkodus.
Jaudīga atvērtā koda viegla C PDF apstrādes bibliotēka PDF dokumentu ģenerēšanai un pārvaldīšanai. Tā atbalsta teksta, attēlu, svītrkodu un formu pievienošanu PDF dokumentiem bez maksas
Kas ir PDFGen bibliotēka?
PDF dokumentu izveide un pārvaldība programmatiski ir bieži sastopama prasība programmatūras izstrādes jomā. No rēķinu un atskaišu ģenerēšanas līdz sarežģītu dokumentu izveidei, uzticama PDF ģenerēšanas bibliotēka ir būtisks rīks izstrādātāja arsenālā. Lai gan pastāv daudzas funkcijām bagātas bibliotēkas, tās bieži nāk ar sarežģītu atkarību slogu un strauju apguves līkni. Šeit izceļas PDFGen C bibliotēka. Tā ir maza, pašpietiekama, atvērtā koda C bibliotēka, kas paredzēta PDF ģenerēšanai un pārvaldībai. Ar minimālu resursu patēriņu un nulles ārējām atkarībām tā ir ideāla vienkāršām lietojumprogrammām, iegultām sistēmām vai gadījumiem, kad vēlaties izvairīties no smagas PDF bibliotēkas iekļaušanas. Neskatoties uz savu kompakto koda bāzi, PDFGen piedāvā stabilu funkciju klāstu, piemēram, teksta pievienošanu PDF, pamata vektorgrafikas darbību PDF, svītrkodu iekļaušanu, attēlu iekļaušanu, grāmatzīmju pievienošanu, jaunu lapu pievienošanu un tā tālāk.
Ekosistēmā, kur bibliotēkas var būt pārāk sarežģītas, PDFGen piedāvā atsvaidzinošu pieeju. Visa bibliotēka ir ietverta vienā C failā un atbilstošā galvenes failā. Tas padara integrāciju jebkurā projektā ārkārtīgi vienkāršu. DFGen ir pašpietiekama un nepaļaujas uz ārējām bibliotēkām. Tas likvidē galvassāpes, kas saistītas ar atkarību pārvaldību, un nodrošina gludu kompilācijas procesu. Sakarā ar tās mazo izmēru un vienfaila struktūru, tā ir ideāla, lai iekļautu lielākās lietojumprogrammās, kur nepieciešama pamata PDF izvada funkcionalitāte bez lielas slodzes. Bibliotēka ir izlaista zem Unlicense licences, kas ir publiskā domēna ekvivalents. Tas nozīmē, ka jūs varat brīvi izmantot, modificēt un izplatīt kodu jebkuram mērķim, komerciālam vai nekomerciālam, bez jebkādām ierobežojumiem.
Sākums ar PDFGen
Ieteicamais veids, kā instalēt PDFGen, ir izmantot GitHub. Lūdzu, izmantojiet šādu komandu, lai veiktu vienkāršu instalēšanu.
Instalējiet PDFGen caur GitHub
Git clone https://github.com/AndreRenaud/PDFGen.git
Jūs varat arī instalēt to manuāli; lejupielādējiet jaunākos izlaiduma failus tieši no GitHub krātuves.
Izveidot pamata PDF failu, izmantojot C API
PDFGen ir atvērtā koda, viegls C bibliotēka, kas ir īpaši izstrādāta, lai viegli ģenerētu un pārvaldītu PDF dokumentus. Tā atbalsta dažādas funkcijas darbam ar PDF dokumentiem, piemēram, teksta un attēlu ievietošanu, jaunu lapu pievienošanu, fontu pārvaldību un daudz ko citu. Sekojošais piemērs parāda, kā programmatūras izstrādātāji var izveidot vienas lapas PDF ar virsrakstu un teksta ķermeni C lietojumprogrammās.
Kā izveidot vienkāršu PDF, izmantojot C bibliotēku?
#include
#include "pdfgen.h"
int main(void) {
// 1. Create a new PDF document with A4 page size
struct pdf_info info = {
.creator = "My App",
.producer = "My App",
.title = "My First PDF",
.author = "John Doe",
};
struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
// 2. Set up a font
const int font_size = 20;
// 3. Add a new page
pdf_append_page(pdf);
// 6. Save the PDF to a file
pdf_save(pdf, "hello_world.pdf");
// 7. Free the allocated memory
pdf_destroy(pdf);
printf("PDF generated successfully!\n");
return 0;
}
PDF teksta manipulācija, izmantojot C bibliotēku
Atvērtā koda PDFGen bibliotēka ir iekļāvusi pilnīgu atbalstu teksta apstrādei PDF dokumentos, izmantojot C++ bibliotēku. Bibliotēka nodrošina stabilas teksta apstrādes iespējas, ļaujot izmantot standarta PDF fontus, piemēram, Times-Roman, Helvetica un Courier, kā arī kontrolēt teksta izskatu, iestatot fonta lielumu, krāsu un teksta rotāciju. Bibliotēka arī atbalsta teksta pievienošanu konkrētās koordinātēs lapā. Sekojošais piemērs parāda, kā pievienot tekstu PDF dokumentā, izmantojot C komandas.
Kā pievienot tekstu PDF failā, izmantojot C bibliotēku?
#include "pdfgen.h"
int main(void) {
struct pdf_info info = {
.creator = "My Application",
.title = "My First PDF",
.author = "Me"
};
struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, &info);
pdf_set_font(pdf, "Times-Roman");
pdf_append_page(pdf);
pdf_add_text(pdf, NULL, "Hello, PDFGen!", 12, 50, 20, PDF_BLACK);
pdf_save(pdf, "hello.pdf");
pdf_destroy(pdf);
return 0;
}
Figūru zīmēšana un attēlu iegulšana PDF failos
Atvērtā koda PDFGen bibliotēka ir nodrošinājusi spēcīgu atbalstu formu zīmēšanai un attēlu pievienošanai PDF dokumentos ar vieglumu. Dokumentiem, kas prasa vairāk nekā tikai tekstu, PDFGen piedāvā funkciju komplektu pamata formu un līniju zīmēšanai. Ar tikai pāris koda rindām programmatūras izstrādātāji var zīmēt līnijas, taisnstūrus un riņķus, lai izveidotu formas, diagrammas vai robežas savās lietojumprogrammās. Zemāk esošais piemērs parāda, kā programmatūras izstrādātāji var zīmēt grafiku un pievienot JPEG attēlu C lietojumprogrammās.
Kā zīmēt formas PDF dokumentos, izmantojot C bibliotēku?
#include "pdfgen.h"
int main(void) {
// ... (PDF creation boilerplate as above) ...
pdf_append_page(pdf);
// Draw a red line
pdf_add_line(pdf, NULL, 50, 50, 200, 50, 3, PDF_RED);
// Draw a blue-filled rectangle
pdf_add_filled_rect(pdf, NULL, 50, 100, 150, 50, PDF_BLUE);
// ... (Save and destroy PDF) ...
return 0;
}
Svītrkodu ģenerēšana PDF iekšpusē, izmantojot C bibliotēku
Izceļas PDFGen iezīme ir iebūvētais atbalsts svītrkodu ģenerēšanai PDF dokumentos. Tas ir īpaši noderīgi lietojumprogrammām, kas jāizveido rēķini, piegādes etiķetes vai krājumu birkas. Bibliotēka atbalsta divus izplatītus svītrkodu standartus – Code-128, kas ir augstas blīvuma lineārs svītrkodu simbols, un Code-39, kas ir mainīgā garuma, diskrēts svītrkodu simbols. Šeit ir noderīgs piemērs, kas parāda, kā pievienot svītrkodu PDF failam C lietojumprogrammās.
Kā pievienot svītrkodu PDF failā C lietojumprogrammās?
#include "pdfgen.h"
int main(void) {
// ... (PDF creation boilerplate) ...
pdf_append_page(pdf);
pdf_add_barcode(pdf, NULL, PDF_BARCODE_128, 50, 200, 200, 50, "PDFGen-12345", PDF_BLACK);
// ... (Save and destroy PDF) ...
return 0;
}