Readium LCP for PDF 1.0
Revision: 1
Copyright 2020, Readium Foundation. All Rights Reserved.
Contributors: Laurent Le Meur (EDRLab), Hadrien Gardeur (De Marque)
Requirements
- LCP for PDF is based on the PDF Profile of the Readium Web Publication Manifest and follows its requirements for packaging.
- Every LCP for PDF package must use:
    - the .lcpdfextension.
- the application/pdf+lcpmedia type.
 
- the 
- A numberOfPagesproperty must be present in themetadatasection of the manifest. It is used by Reading Systems to evaluate user’s progression in the publication.
- PDF documents referenced in the readingOrdermust not be compressed in the package.
- A cover should be referenced in the resourcessection of the manifest and, if present, must not be encrypted.
- An embedded LCP License Document must be located at license.lcpl.
- Each encrypted PDF document must be accompanied by a typeproperty must of valueapplication/pdf.
- Each encrypted PDF document must be accompanied by an encryptedelement, where:- schememust be set to- http://readium.org/2014/01/lcp.
- profileand- algorithmmust be set properly based on the LCP Encryption Profile of the License.
 
Example
{
  "@context": "https://readium.org/webpub-manifest/context.jsonld",
  "metadata": {
    "@type": "http://schema.org/Book",
    "conformsTo": "https://readium.org/webpub-manifest/profiles/pdf",
    "title": "Readium Web Publication Manifest",
    "author": "Readium Community",
    "numberOfPages": 102
  },
  "readingOrder": [
    {
      "href": "publication.pdf",
      "type": "application/pdf",
      "properties": {
        "encrypted": {
          "scheme": "http://readium.org/2014/01/lcp",
          "profile": "http://readium.org/lcp/basic-profile",
          "algorithm": "http://www.w3.org/2001/04/xmlenc#aes256-cbc"
        }
      }
    }
  ],
  "resources": [
    {
      "href": "cover.jpg",
      "type": "image/jpeg",
      "rel": "cover" 
    }
  ]
}
Demo
An example where the PDF is not (yet) encrypted is available at: http://readium.org/lcp-specs/examples/lcpdf/rwpm.lcpdf
JSON Schema
A JSON Schema for the manifest of an LCPDF package is available under version control at: https://github.com/readium/lcp-specs/blob/master/schema/lcpdf.schema.json
For validating a manifest, use the following reference: https://readium.org/lcp-specs/schema/lcpdf.schema.json
