rust 1,961,941 · typescript 233,850 · javascript 141,145 · python 22,871 · 6,801 files · digest 6d882eacc8db · built in 12.5 s · crystals off
cre8-util-pdf crates cargo crate
A pure-Rust PDF reader for the documents CRE8 ingests: classic and stream cross-reference tables, object streams, incremental updates and damaged-file recovery, the Standard security handler (RC4, AES-128, AES-256 R6) with an empty or supplied password, Flate/LZW/ASCII/run-length filters with predictors, and a text layer of positioned runs decoded through ToUnicode CMaps and simple encodings. A table module recovers a printed spreadsheet's grid from its header line. No C library and no network; builds for wasm.
Neighbourhood
Left: crates that declare this one. Right: crates it declares (dev-dependencies included). Edge width grows with resolved calls.
Files
File call graph
Resolved calls between this crate's files, callers left of callees.
Heaviest functions
By call-graph weight (PageRank; 1.0 is the average function). 499 functions in all.
| function | kind | lines | cyclomatic | callers | callees | weight | crystal |
|---|---|---|---|---|---|---|---|
| Matrix::is_finitesrc/render/geom.rs:36 | method | 3 | 1 | 30 | 0 | 9.9 | |
| Object::as_arraysrc/object.rs:82 | method | 6 | 2 | 48 | 0 | 9.6 | |
| Object::as_f64src/object.rs:57 | method | 7 | 3 | 30 | 0 | 8.8 | |
| realsrc/write/objects.rs:15 | fn | 15 | 5 | 10 | 0 | 8 | |
| numsrc/write/objects.rs:35 | fn | 9 | 4 | 14 | 1 | 5.5 | |
| Object::as_i64src/object.rs:48 | method | 7 | 5 | 28 | 0 | 4.9 | |
| Renderer::skipsrc/render/interp.rs:228 | method | 3 | 1 | 19 | 0 | 4.9 | |
| Object::as_dictsrc/object.rs:90 | method | 7 | 3 | 35 | 0 | 4.8 | |
| PageWriter::topsrc/write/content.rs:478 | method | 3 | 1 | 15 | 0 | 4.7 | |
| showsrc/write/tests.rs:107 | fn | 17 | 12 | 4 | 1 | 4.5 | |
| show_dictsrc/write/tests.rs:125 | fn | 8 | 2 | 1 | 1 | 4.3 | |
| malformedsrc/lib.rs:77 | fn | 3 | 1 | 18 | 0 | 3.9 | |
| is_whitesrc/parse.rs:8 | fn | 3 | 1 | 8 | 0 | 3.9 | |
| Document::open_with_passwordsrc/document.rs:86 | method | 20 | 5 | 2 | 6 | 2.9 | |
| u16_atsrc/write/sfnt.rs:19 | fn | 3 | 1 | 6 | 0 | 2.9 | |
| Document::opensrc/document.rs:81 | method | 3 | 1 | 11 | 1 | 2.7 | |
| Renderer::budgetsrc/render/interp.rs:244 | method | 6 | 2 | 2 | 1 | 2.6 | |
| Object::as_namesrc/object.rs:66 | method | 6 | 2 | 9 | 0 | 2.5 | |
| Renderer::roomsrc/render/interp.rs:254 | method | 7 | 2 | 2 | 1 | 2.4 | |
| Parser::token_at_depthsrc/parse.rs:94 | method | 57 | 19 | 3 | 10 | 2.4 | |
| UserPath::move_tosrc/render/geom.rs:80 | method | 9 | 2 | 6 | 0 | 2.4 | |
| Objects::add_streamsrc/write/objects.rs:148 | method | 3 | 1 | 5 | 2 | 2.3 | |
| Document::stream_bytessrc/document.rs:221 | method | 11 | 2 | 12 | 3 | 2.3 | |
| Function::eval_intosrc/render/function.rs:184 | method | 83 | 25 | 1 | 4 | 2.2 | |
| Font::width_ofsrc/font.rs:445 | method | 11 | 2 | 3 | 0 | 2.2 | |
| Dict::namesrc/object.rs:158 | method | 3 | 1 | 1 | 2 | 2.2 | |
| Function::evalsrc/render/function.rs:179 | method | 4 | 1 | 5 | 1 | 2.1 | |
| cbc_decryptsrc/crypt.rs:318 | fn | 15 | 3 | 1 | 0 | 2 | |
| rc4src/crypt.rs:278 | fn | 20 | 3 | 4 | 0 | 2 | |
| Dict::is_typesrc/object.rs:163 | method | 3 | 1 | 8 | 1 | 2 | |
| FaceCache::facesrc/render/fonts.rs:160 | method | 21 | 8 | 12 | 0 | 2 | |
| Parser::newsrc/parse.rs:35 | method | 3 | 1 | 12 | 0 | 2 | |
| to_bytessrc/render/color.rs:271 | fn | 4 | 1 | 5 | 0 | 2 | |
| PageWriter::notesrc/write/content.rs:470 | method | 3 | 1 | 3 | 0 | 1.9 | |
| hexsrc/write/objects.rs:94 | fn | 7 | 2 | 2 | 0 | 1.9 | |
| RenderFont::advancesrc/render/fonts.rs:253 | method | 6 | 3 | 8 | 1 | 1.9 | |
| Object::as_streamsrc/object.rs:99 | method | 6 | 2 | 12 | 0 | 1.9 | |
| is_delimitersrc/parse.rs:13 | fn | 3 | 1 | 5 | 0 | 1.8 | |
| Object::as_referencesrc/object.rs:107 | method | 6 | 2 | 13 | 0 | 1.8 | |
| aes_cbc_decryptsrc/crypt.rs:334 | fn | 8 | 4 | 2 | 1 | 1.8 |
Outside the workspace
aes cre8-lib-paint md-5 miniz_oxide sha2 zune-jpeg