integration done and testing done
This commit is contained in:
@@ -111,12 +111,64 @@ PYBIND11_MODULE(pdfengine, m) {
|
||||
return "FontInfo(font_name='" + self.fontName + "', type='" + self.type + "', is_embedded=" + (self.isEmbedded ? "True" : "False") + ")";
|
||||
});
|
||||
|
||||
py::class_<pdfengine::Glyph>(m, "Glyph")
|
||||
.def_readonly("text", &pdfengine::Glyph::text)
|
||||
.def_readonly("unicode", &pdfengine::Glyph::unicode)
|
||||
.def_readonly("font_name", &pdfengine::Glyph::fontName)
|
||||
.def_readonly("flags", &pdfengine::Glyph::flags)
|
||||
.def_readonly("font_size", &pdfengine::Glyph::fontSize)
|
||||
.def_readonly("origin_x", &pdfengine::Glyph::originX)
|
||||
.def_readonly("origin_y", &pdfengine::Glyph::originY)
|
||||
.def_readonly("bbox_x", &pdfengine::Glyph::bboxX)
|
||||
.def_readonly("bbox_y", &pdfengine::Glyph::bboxY)
|
||||
.def_readonly("bbox_w", &pdfengine::Glyph::bboxW)
|
||||
.def_readonly("bbox_h", &pdfengine::Glyph::bboxH)
|
||||
.def_readonly("angle", &pdfengine::Glyph::angle);
|
||||
|
||||
py::class_<pdfengine::TextRun>(m, "TextRun")
|
||||
.def_readonly("text", &pdfengine::TextRun::text)
|
||||
.def_readonly("font_name", &pdfengine::TextRun::fontName)
|
||||
.def_readonly("flags", &pdfengine::TextRun::flags)
|
||||
.def_readonly("font_size", &pdfengine::TextRun::fontSize)
|
||||
.def_readonly("internal_font_id", &pdfengine::TextRun::internalFontId)
|
||||
.def_readonly("is_embedded", &pdfengine::TextRun::isEmbedded)
|
||||
.def_readonly("type", &pdfengine::TextRun::type)
|
||||
.def_readonly("glyphs", &pdfengine::TextRun::glyphs)
|
||||
.def_readonly("x", &pdfengine::TextRun::x)
|
||||
.def_readonly("y", &pdfengine::TextRun::y)
|
||||
.def_readonly("w", &pdfengine::TextRun::w)
|
||||
.def_readonly("h", &pdfengine::TextRun::h);
|
||||
|
||||
py::class_<pdfengine::TextLine>(m, "TextLine")
|
||||
.def_readonly("runs", &pdfengine::TextLine::runs)
|
||||
.def_readonly("baseline_y", &pdfengine::TextLine::baselineY)
|
||||
.def_readonly("x", &pdfengine::TextLine::x)
|
||||
.def_readonly("y", &pdfengine::TextLine::y)
|
||||
.def_readonly("w", &pdfengine::TextLine::w)
|
||||
.def_readonly("h", &pdfengine::TextLine::h);
|
||||
|
||||
py::class_<pdfengine::Paragraph>(m, "Paragraph")
|
||||
.def_readonly("lines", &pdfengine::Paragraph::lines)
|
||||
.def_readonly("x", &pdfengine::Paragraph::x)
|
||||
.def_readonly("y", &pdfengine::Paragraph::y)
|
||||
.def_readonly("w", &pdfengine::Paragraph::w)
|
||||
.def_readonly("h", &pdfengine::Paragraph::h);
|
||||
|
||||
py::class_<pdfengine::PageModel>(m, "PageModel")
|
||||
.def_readonly("paragraphs", &pdfengine::PageModel::paragraphs)
|
||||
.def_readonly("width", &pdfengine::PageModel::width)
|
||||
.def_readonly("height", &pdfengine::PageModel::height)
|
||||
.def_readonly("page_index", &pdfengine::PageModel::pageIndex);
|
||||
|
||||
py::class_<pdfengine::PdfPage, std::shared_ptr<pdfengine::PdfPage>>(m, "PdfPage")
|
||||
.def_property_readonly("width", &pdfengine::PdfPage::width)
|
||||
.def_property_readonly("height", &pdfengine::PdfPage::height)
|
||||
.def("render", [](const pdfengine::PdfPage& self, int dpi) {
|
||||
return get_or_throw(self.render(dpi));
|
||||
}, py::arg("dpi") = 96)
|
||||
.def("extract_document_model", [](const pdfengine::PdfPage& self) {
|
||||
return get_or_throw(self.extractDocumentModel());
|
||||
})
|
||||
.def("extract_text", [](const pdfengine::PdfPage& self) {
|
||||
return get_or_throw(self.extractText());
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user