"PRC (Product Representation Compact) is a file format that can be used to embed 3D data in a PDF file" according to Wikipedia. prc-rs is a work-in-progress Rust language implementation of the file format. Initial focus is on a parser/reader.
- code generator based on 2014 PRC standard
- PRC double I/O
- Schema evaluator
- Huffman decoding
- parsing compressed arrays
- parsing PRC_TYPE_TESS_3D_Compressed: vertex and triangle interpretation (https://patents.google.com/patent/US8207965B2/en, pdf-association/pdf-issues#727)
- parsing PRC_TYPE_TESS_3D_Compressed: normals (pdf-association/pdf-issues#436, pdf-association/pdf-issues#540)
- parsing PRC_TYPE_TESS_3D_Compressed: color data
- parsing compressed NURBS
- parsing AnaFaceTrimLoop
- parsing VertexColors
- parsing PRC_TYPE_SURF_Blend03
- C API for parsing/reading
- B-rep tessellation
- PRC write/output
Test data is currently very scarce, many parts (structures) of the PRC standard are not yet found in existing test data. If you can, please submit new data (sample 3D PDFs) to increase the coverage of the library.
prc-rs is licensed under the MIT License - see the LICENSE file for details
The PRC file format documentation is quite scattered, incomplete sometimes contradictory and does not properly detail file version differences.
- SC2N570-PRC-WD 2009 draft standard
- ISO 14739-1:2014 2014 standard and identified issues
- Acrobat 9 PRC Format Specification
- Acrobat SDK 9 for Mac Win
- Acrobat SDK 10 for Mac Win
- Acrobat SDK 11 for Mac Win
- US pat. 8.207,965