Leabharlann PDF Saor in Aisce C++ le haghaidh Léitheoireachta & Scríbhneoireachta Comhad PDF
Ceadaíonn Leabharlann PDF Simplí bunaithe ar C foinse oscailte Léamh, Scríobh agus Láimhseáil Doiciméid PDF. Tacaíonn sé le tiontú Íomhá go PDF, ábhar a bhaint amach, léamh PDF bunaithe ar shruth agus tuilleadh, laistigh de fheidhmchláir C.
Cad é Leabharlann PDFio?
Is leabharlann C éadrom, foinse oscailte é PDFio a dearadh go sonrach chun comhaid PDF a léamh agus a scríobh gan an castaíocht a bhaineann le rindreáil nó le féachaint. Cruthaithe ag Michael R Sweet agus ceadúnaithe faoi Cheadúnas Apache Leagan 2.0, cuireann an leabharlann seo ar fáil d'fhorbróirí le cur chuige díreach le láimhseáil PDF a dhíríonn ar chruthú ábhair, baint amach, agus athrú seachas cur i láthair amhairc. Tá an leabharlann an-éasca le láimhseáil agus cuireann sé ar fáil roinnt bealaí le próiseáil comhaid PDF a láimhseáil, mar shampla baint amach agus cumasc leathanaigh PDF, tuarascálacha uathoibríocha ó bhunachair shonraí, marc uisce agus stampa, cruthú deimhnithe agus deipléamaí, leabú cló chun cartlannú, modhnú meiteashonraí agus go leor eile.
Tá PDFio dírithe ar na hoibríochtaí I/O riachtanach, rud a fhágann go bhfuil sé foirfe do fheidhmchláir a bhfuil gá acu le sonraí a bhaint as PDFanna nó cinn nua a chruthú gan an t-ualach a bhaineann le leabharlanna níos casta. Tacaíonn an leabharlann le gnéithe cumhachtacha tiontaithe agus cuireann sé ar chumas forbróirí bogearraí markdown a thiontú go PDF, íomhá go PDF, HTML go PDF chomh maith le giniúint barra códa i PDFanna laistigh de fheidhmchláir C. Tá a dhíriú ar fheidhmiúlacht bhunúsach gan an t-ualach a bhaineann le rindreáil, rud a fhágann go bhfuil sé idéalach do fheidhmchláir taobh freastalaí, uirlisí líne na n-orduithe, agus córais leabaithe áit a bhfuil gá le cruthú nó próiseáil PDF gan taispeáint amhairc. Cibé acu go bhfuil tú ag tógáil córais bainistíochta doiciméad, ag cruthú gineadóirí tuarascálacha uathoibríocha, nó ag forbairt uirlisí le haghaidh anailíse PDF, soláthraíonn PDFio an fheidhmiúlacht riachtanach don láimhseáil ghairmiúil PDF i bhfeidhmchláir C.
Ag Tosú le PDFio
Is é an bealach molta chun PDFio a shuiteáil ná úsáid a bhaint as NuGet. Úsáid an t-ordú seo a leanas le haghaidh suiteáil réidh.
Suiteáil PDFio trí NuGet
Install-Package pdfio_native Suiteáil PDFio trí GitHub
git clone https://github.com/michaelrsweet/pdfio.git
Is féidir leat é a shuiteáil de láimh freisin; íosluchtaigh na comhaid eisiúna is déanaí go díreach ó stór GitHub.
Ag Cruthú PDF ó Bhun trí C
Tá tacaíocht iomlán curtha san áireamh ag an leabharlann oscailte PDFio chun cáipéis PDF nua a chruthú ón tús i bhfeidhmchláir C. Tá cruthú cáipéis PDF nua chomh simplí freisin, agus le cúpla líne de chód C is féidir le forbróirí bogearraí leathanaigh nua a chur leis, téacs agus cruthanna simplí a tharraingt,
Conas Íomhá Aonair a Thiontú go PDF trí Leabharlann C?
#include
#include
#include
bool create_pdf_from_image(const char *image_path,
const char *pdf_path,
const char *title) {
pdfio_file_t *pdf;
pdfio_obj_t *image;
pdfio_dict_t *page_dict;
pdfio_stream_t *page_stream;
pdfio_rect_t media_box;
double img_width, img_height;
double page_width, page_height;
double scale_x, scale_y, scale;
double x, y;
// Create the image object first to get dimensions
// We'll use a temporary PDF for this
pdfio_rect_t temp_box = {0, 0, 612, 792};
pdf = pdfioFileCreate(pdf_path, "2.0", &temp_box, NULL, NULL, NULL);
if (!pdf) {
fprintf(stderr, "Error: Cannot create PDF file\n");
return false;
}
// Set PDF metadata
if (title) {
pdfioFileSetTitle(pdf, title);
}
pdfioFileSetAuthor(pdf, "PDFio Image Converter");
pdfioFileSetCreator(pdf, "image2pdf v1.0");
// Load and embed the image
image = pdfioFileCreateImageObjFromFile(pdf, image_path, true);
if (!image) {
fprintf(stderr, "Error: Cannot load image file: %s\n", image_path);
pdfioFileClose(pdf);
return false;
}
// Get image dimensions in pixels
img_width = pdfioImageGetWidth(image);
img_height = pdfioImageGetHeight(image);
printf("Image dimensions: %.0f x %.0f pixels\n", img_width, img_height);
// Create page sized to image (assuming 72 DPI)
// This creates a PDF page that exactly fits the image
page_width = img_width;
page_height = img_height;
media_box.x1 = 0.0;
media_box.y1 = 0.0;
media_box.x2 = page_width;
media_box.y2 = page_height;
// Create page dictionary and add image resource
page_dict = pdfioDictCreate(pdf);
pdfioDictSetRect(page_dict, "MediaBox", &media_box);
pdfioPageDictAddImage(page_dict, "IM1", image);
// Create the page
page_stream = pdfioFileCreatePage(pdf, page_dict);
// Draw image at full size (no scaling)
pdfioContentDrawImage(page_stream, "IM1", 0, 0,
page_width, page_height);
// Close and save
pdfioStreamClose(page_stream);
pdfioFileClose(pdf);
printf("Successfully created PDF: %s\n", pdf_path);
return true;
}
int main(int argc, char *argv[]) {
if (argc < 3) {
fprintf(stderr, "Usage: %s [title]\n",
argv[0]);
return 1;
}
const char *title = (argc > 3) ? argv[3] : NULL;
if (!create_pdf_from_image(argv[1], argv[2], title)) {
return 1;
}
return 0;
}
Léigh PDF & Bain Téacs Amach trí Leabharlann C
Is é ceann de na tascanna is coitianta léamh agus baint téacs as comhad PDF. Déanann an leabharlann foinse oscailte PDFio an próiseas seo intuítí trí fhorbairtí a cheadú do fhorbróirí dul tríd leathanaigh agus a sruthanna ábhair. Soláthraíonn an leabharlann tacaíocht iomlán chun faisnéis úsáideach a bhaint as PDFanna atá ann cheana, mar shampla téacs simplí, meiteashonraí, clónna leabaithe, uimhreacha, íomhánna, fíonchaor, ainmneacha agus níos mó. Taispeánann an sampla seo a leanas conas PDF atá ann cheana a oscailt agus faisnéis bhunúsach a bhaint as tríd an leabharlann C.
Conas Téacs Simplí a Bhain amach ó Chomhad PDF trí Leabharlann C?
#include
#include
#include
// Callback function to handle text objects
static bool text_cb(const pdfio_text_t *text, void *data) {
// Simply print the text to stdout
printf("%s", text->utf8);
return true;
}
int main(void) {
pdfio_file_t *pdf;
pdfio_page_t *page;
// Open the PDF file for reading
pdf = pdfioFileOpen("example.pdf", NULL, NULL, NULL);
if (!pdf) {
fprintf(stderr, "Failed to open example.pdf\n");
return 1;
}
printf("PDF has %d pages.\n", pdfioFileGetNumPages(pdf));
// Read the first page (pages are 1-indexed)
page = pdfioFileGetPage(pdf, 1);
if (!page) {
fprintf(stderr, "Failed to read page 1\n");
pdfioFileClose(pdf);
return 1;
}
// Parse the page content and call our text_cb for each text object
if (!pdfioPageParseContents(page, text_cb, NULL, NULL, NULL)) {
fprintf(stderr, "Failed to parse page contents\n");
}
// Clean up
pdfioFileClose(pdf);
return 0;
}
Léamh Éifeachtach, Bunaithe ar Shruth
Tá PDFio deartha le haghaidh éifeachtúlachta. Agus á léamh, ní luchtúann sé an comhad iomlán i gcuimhne ag an am céanna. In áit sin, úsáideann sé cur chuige tarraingthe parsála, rud a ligeann duit an comhad a phróiseáil i gcúpla. Tá sé seo ríthábhachtach chun PDFanna an-mhóra a láimhseáil gan cuimhne an chórais a ídiú. Is sampla den scoth den mhúnla sruth-bhunaithe é an fheidhm pdfioPageParseContents ón gcéad sampla. Léann sé sruth ábhair an leathanaigh go seicheamhach, ag scaoileadh imeachtaí (mar shampla ár nglao ar ais téacs) de réir a chéile.