Leabharlann C++ Saor in Aisce chun Leathanaigh PDF a Rindreáil go hÍomhá & Bain amach Téacs.
Leabharlann Próiseála PDF le foinse oscailte i C++ le haghaidh rindreála leathanaigh PDF go híomhánna, bain amach téacs, obair le PDFanna cosanta le pasfhocal, agus rochtain ar mheiteashonraí doiciméad trí API C++.
Cad é PDFium-Render?
Bhí láimhseáil agus rindreáil PDFanna laistigh de fheidhmchlár C++ i stair na dúshlán casta, go minic ag baint úsáide as ceadúnais tráchtála daor nó uirlisí foinse oscailte casta. Seo PDFium-Render, leabharlann clúdach nua-aimseartha C++ gan ach ceannaire (header‑only) a thugann cumhacht innill PDFium ó Google chuig do thionscadail le comhéadan intuítíve agus glan. Is ceangal sábháilte, idiomatach Rust é PDFium‑render do PDFium, an t‑inneall rindreála PDF céanna a chuireann Google Chrome agus Mozilla Firefox i bhfeidhm. Cruthaithe agus cothromaithe ag ajrcarey, soláthraíonn an leabharlann seo d'fhorbróirí toolkit cumhachtach le haghaidh rindreáil leathanaigh PDF go híomhánna, baint téacs, láimhseáil struchtúir PDF, agus rochtain ar mheiteashonraí doiciméad — uile le húsáid na ráthaíocht sábháilteachta cuimhne Rust.
Ar an mhalairt le go leor leabharlanna PDF a dhíríonn ach amháin ar chruthú nó ar parsáil bhunúsach, tá PDFium-Render den scoth ag rindreáil ábhar PDF le cruinneas pixel-foirfe, rud a fhágann go bhfuil sé foirfe do fheidhmchláir a theastaíonn a thaispeáint, a thiontú, nó a phróiseáil doiciméid PDF atá ann cheana. Tacaíonn sé le gnéithe éagsúla bunúsacha agus casta le haghaidh oibriú le doiciméid PDF, mar shampla rindreáil comhaid agus leathanaigh PDF, bailiú agus anailís téacs, obair le meiteashonraí doiciméid, rochtain agus láimhseáil réada leathanaigh, oibriú le PDFanna cosanta le pasfhocal, agus níos mó. Is é ceann de na láidreachtaí is mó ag pdfium-render ná a thacaíocht tras-ardáin. Oibríonn an leabharlann go réidh ar Windows, macOS, agus Linux, ag cur i bhfolach difríochtaí speisialta ardáin i ndéantáin PDFium. Cibé an bhfuil tú ag tógáil amharcán doiciméad, ag uathoibriú sreabhadh oibre próiseála PDF, nó ag bailiú sonraí ó PDFanna, soláthraíonn pdfium-render na huirlisí a theastaíonn uait.
Tosaigh le PDFium-Render
An bealach molta chun PDFium-Render a shuiteáil ná úsáid a bhaint as CMake. Le do thoil, bain úsáid as an t-ordú seo a leanas le haghaidh suiteáil réidh.
Suiteáil PDFium-Render trí GitHub
vcpkg install pdfium-render
Suiteáil PDFium-Render trí GitHub
Git clone https://github.com/ajrcarey/pdfium-render.git Is féidir leat é a shuiteáil de láimh freisin; íosluchtaigh na comhaid eisiúna is déanaí go díreach ó GitHub stór.
Rindreáil PDF Ard-Dílis trí C++
Tá príomhneart leabharlann oscailte PDFium-Render sa chumas cruthaithe. Is féidir leis leathanaigh PDF a thiontú go híomhánna raster le caighdeán eisceachtúil, ag tacú le formáidí aschur éagsúla lena n-áirítear PNG, JPEG, agus BMP. Láimhseann an t‑inneall cruthaithe gnéithe casta PDF cosúil le trédhearcacht, grádáin, clónna leabaithe, agus grafaic veicteoir le cruinneas céanna a mbeifeá ag súil leis ón amharcán PDF de Chrome. Seo sampla simplí a thaispeánann conas is féidir le forbróirí bogearraí leathanach ar leith a chruthú i bhformáid íomhá PNG laistigh de fheidhmchláir C++ applications.
How to Render a Specific PDF Page into PNG Format via C++?
use pdfium_render::prelude::*;
fn render_pdf_page() -> Result<(), PdfiumError> {
// Initialize PDFium library
let pdfium = Pdfium::new(
Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./"))
.or_else(|_| Pdfium::bind_to_system_library())?
);
// Load a PDF document
let document = pdfium.load_pdf_from_file("sample.pdf", None)?;
// Get the first page
let page = document.pages().get(0)?;
// Render the page to a bitmap at 300 DPI
let bitmap = page.render_with_config(
&PdfRenderConfig::new()
.set_target_width(2480) // 300 DPI for 8.27 inches
.set_target_height(3508) // 300 DPI for 11.69 inches
)?;
// Save as PNG
bitmap.as_image().as_rgba8().unwrap()
.save("output.png")?;
Ok(())
}
Text Extraction and Analysis via C++ Library
Seachas cruthú, soláthraíonn leabharlann PDFium-Render cumais iomlána bailiú téacs. Tá an API bailiú téacs intuítí agus cumhachtach. Is féidir le forbróirí bogearraí téacs a bhailiú ó leathanaigh aonair, teaghráin ar leith a chuardach, agus fiú faisnéis shuíthe leibhéil carachtar a rochtain le cúpla líne de chód — ríthábhachtach chun gnéithe cosúil le roghnú téacs nó a shoilsiú a chur i bhfeidhm. Taispeánann an sampla a leanas conas is féidir le forbróirí
Conas Téacs a Bhaintear ó Réigiúin Leathanaigh PDF Sonrach trí API C++?
use pdfium_render::prelude::*;
fn extract_text_from_page() -> Result<(), PdfiumError> {
let pdfium = Pdfium::new(
Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./"))
.or_else(|_| Pdfium::bind_to_system_library())?
);
let document = pdfium.load_pdf_from_file("document.pdf", None)?;
let page = document.pages().get(0)?;
// Extract all text from the page
let text = page.text()?;
let all_text = text.all();
println!("Page text: {}", all_text);
// Search for specific text
let search_results = text.search("important", true, false)?;
for result in search_results {
println!("Found at index: {}", result.start_index());
}
// Get text in a specific rectangular area
let rect = PdfRect::new(100.0, 100.0, 300.0, 200.0);
let bounded_text = text.bounded(rect)?;
println!("Text in region: {}", bounded_text);
Ok(())
}
Word le PDF Cosanta le Pasfhocal trí C++
Tá slándáil ar an gcéad áit nuair a oibrímid le cáipéisí. Láimhseálann PDFium-Render PDFanna atá cosanta le pasfhocal go réidh, ag tacú le pasfhocail an úsáideora agus an úinéara araon. Déanann an leabharlann fíordheimhniú go trédhearcach, ag filleadh ar earráidí cuí má tá an pasfhocal mícheart nó má tá srianta ag an PDF a chuireann cosc ar oibríochtaí áirithe. Seo sampla an-úsáideach a thaispeánann conas PDFanna cosanta le pasfhocal a láimhseáil laistigh de fheidhmchláir C++.
Conas Doiciméid PDF Cosanta le Pasfhocal a Oscailt agus a Luchtú trí API C++?
fn open_encrypted_pdf() -> Result<(), PdfiumError> {
let pdfium = Pdfium::new(
Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./"))
.or_else(|_| Pdfium::bind_to_system_library())?
);
// Attempt to load with password
let document = pdfium.load_pdf_from_file(
"confidential.pdf",
Some("secret_password")
)?;
println!("Successfully opened encrypted PDF");
println!("Pages: {}", document.pages().len());
Ok(())
}
Ag obair le Meiteashonraí agus Airíonna PDF trí C++
Tá tuiscint ar struchtúr PDF riachtanach do go leor feidhmchlár. Soláthraíonn an leabharlann foinse oscailte PDFium-Render rochtain iomlán ar mhéadadataí na cáipéise, líon na leathanach, toisí, agus airíonna eile. Tá an fheidhmiúlacht seo luachmhar le haghaidh tógáil córais bhainistíochta cáipéisí, bailíochtóirí PDF, nó aon fheidhmchlár a theastaíonn a chategoriziú nó a phróiseáil PDFanna bunaithe ar a n-airíonna. Léiríonn an sampla cód thíos conas is féidir le cláraitheoirí oibriú le meádatha PDFanna agus rochtain a fháil ar éagsúlacht na n-airíonna go héasca.
Conas Meiteashonraí Doiciméad PDF a Láimhseáil trí API C++?
fn inspect_document_metadata() -> Result<(), PdfiumError> {
let pdfium = Pdfium::new(
Pdfium::bind_to_library(Pdfium::pdfium_platform_library_name_at_path("./"))
.or_else(|_| Pdfium::bind_to_system_library())?
);
let document = pdfium.load_pdf_from_file("report.pdf", None)?;
// Access document metadata
let metadata = document.metadata();
println!("Title: {}", metadata.title().unwrap_or("Untitled"));
println!("Author: {}", metadata.author().unwrap_or("Unknown"));
println!("Creator: {}", metadata.creator().unwrap_or("Unknown"));
println!("Producer: {}", metadata.producer().unwrap_or("Unknown"));
// Get page count
let page_count = document.pages().len();
println!("Total pages: {}", page_count);
// Inspect individual page properties
for (index, page) in document.pages().iter().enumerate() {
let width = page.width();
let height = page.height();
println!("Page {}: {}x{} points", index + 1, width.value, height.value);
}
Ok(())
}