From e2e6e4d81e41393b99ca9d59f59862bd9f9f1ed4 Mon Sep 17 00:00:00 2001 From: Laurent Le Meur Date: Sat, 22 Apr 2023 20:02:42 +0200 Subject: [PATCH 1/3] add the PDF profile --- README.md | 7 +++-- profiles/README.md | 7 +++-- profiles/pdf.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 profiles/pdf.md diff --git a/README.md b/README.md index 88176bc..54860be 100644 --- a/README.md +++ b/README.md @@ -348,9 +348,10 @@ The initial registry, contains the following profiles: | Name | Description | | ----- | ------------ | -| [Audiobook Profile](profiles/audiobook.md) | Defines a dedicated profile for audiobooks. | -| [Digital Visual Narratives Profile](profiles/divina.md) | Defines a dedicated profile for visual narratives (comics, manga and bandes dessinées). | -| [EPUB Profile](profiles/epub.md) | Additional metadata and collection roles for representing EPUB publications. | +| [EPUB Profile](profiles/epub.md) | A profile for EPUB content transformed to Web Publications. | +| [Audiobook Profile](profiles/audiobook.md) | A profile for Audiobooks. | +| [Divina Profile](profiles/divina.md) | A profile for Digital Visual Narrative publications (comics, manga and bandes dessinées). | +| [PDF Profile](profiles/pdf.md) | A profile for PDF documents integrated into Web Publications. | ## 9. Packaging diff --git a/profiles/README.md b/profiles/README.md index 430fda1..6bb97f2 100644 --- a/profiles/README.md +++ b/profiles/README.md @@ -2,9 +2,10 @@ | Name | Description | URI | | ----- | ------------ | --- | -| [Audiobook Profile](audiobook.md) | Defines a dedicated profile for audiobooks. | [https//readium.org/webpub-manifest/profiles/audiobook](https//readium.org/webpub-manifest/profiles/audiobook) | -| [Digital Visual Narratives Profile](divina.md) | Defines a dedicated profile for visual narratives (comics, manga and bandes dessinées). | [https//readium.org/webpub-manifest/profiles/divina](https//readium.org/webpub-manifest/profiles/divina) | -| [EPUB Profile](epub.md) | Additional metadata and collection roles for representing EPUB publications. |[https//readium.org/webpub-manifest/profiles/epub](https//readium.org/webpub-manifest/profiles/epub) | +| [EPUB Profile](./epub.md) | A profile for EPUB content transformed to Web Publications. | https//readium.org/webpub-manifest/profiles/epub | +| [Audiobook Profile](./audiobook.md) | A profile for Audiobooks. | https//readium.org/webpub-manifest/profiles/audiobook | +| [Divina Profile](./divina.md) | A profile for Digital Visual Narrative publications (comics, manga and bandes dessinées). | https//readium.org/webpub-manifest/profiles/divina | +| [PDF Profile](./pdf.md) | A profile for PDF documents integrated into Web Publications. | https//readium.org/webpub-manifest/profiles/pdf | ## Registering a profile diff --git a/profiles/pdf.md b/profiles/pdf.md new file mode 100644 index 0000000..602636a --- /dev/null +++ b/profiles/pdf.md @@ -0,0 +1,68 @@ +# PDF Profile + +**Editors:** + +* Michael Benowitz ([NYPL](https://www.nypl.org)) +* Laurent Le Meur ([EDRLab](https://www.edrlab.org)) + +**Participate:** + +* [GitHub readium/webpub-manifest](https://github.com/readium/webpub-manifest) +* [File an issue](https://github.com/readium/webpub-manifest/issues) + +## Example + +```json +{ + "@context": "http://readium.org/webpub-manifest/context.jsonld", + + "metadata": { + "@type": "http://schema.org/Book", + "conformsTo": "https://readium.org/webpub-manifest/profiles/pdf", + "title": "Moby-Dick", + "author": "Herman Melville", + "language": "en" + }, + + "links": [ + {"rel": "self", "href": "http://example.org/manifest.json", "type": "application/webpub+json"}, + ], + + "readingOrder": [ + { + "href": "http://example.org/mobydick-part1.pdf", + "type": "application/pdf", + }, + { + "href": "http://example.org/mobydick-part2.pdf", + "type": "application/pdf", + } + ], + + "resources": [ + {"rel": "cover", "href": "http://example.org/cover.jpeg", "type": "image/jpeg", "height": 600, "width": 300} + ] +} +``` + +## Introduction + +The goal of this specification is to provide a profile of the [Readium Web Publication Manifest](https://readium.org/webpub-manifest) dedicated to pdf documents. + +It is mostly used as a basis for the specification of a method for protecting PDF files using LCP, i.e. [LCP for PDF](https://readium.org/lcp-specs/notes/lcp-for-pdf.html). + +This profile relies on: + +* a declaration of [conformance with this Profile](#1-declaring-conformance-with-the-pdf-profile), +* some [restrictions on the resources of the reading order](#2-restrictions-on-the-resources-of-the-reading-order), + +## 1. Declaring conformance with the PDF Profile + +To declare that it conforms to the PDF Profile, a Readium Web Publication Manifest must include a `conformsTo` key in its `metadata` section, with `https://readium.org/webpub-manifest/profiles/pdf` as value. + +## 2. Restrictions on resources in the reading order + +In addition to the normal requirements of a `readingOrder`, all Link Objects must point strictly to PDF resources (with a media type media type of value `application/pdf`), with no fragment identifier. + +> **Note** +> While this specification defines the possibility to insert several PDF files into the reading order, the current versions of the Readium toolkits only support one item. From 4e6489b4cb24e3d4988ae94087b72a3abcc80d2b Mon Sep 17 00:00:00 2001 From: Laurent Le Meur Date: Sat, 22 Apr 2023 20:17:29 +0200 Subject: [PATCH 2/3] remove part of a sentence which is not useful --- profiles/pdf.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/profiles/pdf.md b/profiles/pdf.md index 602636a..a4bd15d 100644 --- a/profiles/pdf.md +++ b/profiles/pdf.md @@ -62,7 +62,7 @@ To declare that it conforms to the PDF Profile, a Readium Web Publication Manife ## 2. Restrictions on resources in the reading order -In addition to the normal requirements of a `readingOrder`, all Link Objects must point strictly to PDF resources (with a media type media type of value `application/pdf`), with no fragment identifier. +In addition to the normal requirements of a `readingOrder`, all Link Objects must point strictly to PDF resources, with no fragment identifier. > **Note** > While this specification defines the possibility to insert several PDF files into the reading order, the current versions of the Readium toolkits only support one item. From 1577715aa771f40840e6c03515e2a669acc84d8a Mon Sep 17 00:00:00 2001 From: Laurent Le Meur Date: Mon, 1 May 2023 17:09:31 +0200 Subject: [PATCH 3/3] modifications requested during PR review --- profiles/pdf.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/profiles/pdf.md b/profiles/pdf.md index a4bd15d..bd57a4c 100644 --- a/profiles/pdf.md +++ b/profiles/pdf.md @@ -47,22 +47,19 @@ ## Introduction -The goal of this specification is to provide a profile of the [Readium Web Publication Manifest](https://readium.org/webpub-manifest) dedicated to pdf documents. +The goal of this specification is to provide a profile of the [Readium Web Publication Manifest](https://readium.org/webpub-manifest) dedicated to PDF documents. It is mostly used as a basis for the specification of a method for protecting PDF files using LCP, i.e. [LCP for PDF](https://readium.org/lcp-specs/notes/lcp-for-pdf.html). This profile relies on: * a declaration of [conformance with this Profile](#1-declaring-conformance-with-the-pdf-profile), -* some [restrictions on the resources of the reading order](#2-restrictions-on-the-resources-of-the-reading-order), +* a [restriction on the resources of the reading order](#2-restrictions-on-the-resources-of-the-reading-order), ## 1. Declaring conformance with the PDF Profile -To declare that it conforms to the PDF Profile, a Readium Web Publication Manifest must include a `conformsTo` key in its `metadata` section, with `https://readium.org/webpub-manifest/profiles/pdf` as value. +To declare that it conforms to the PDF Profile, a Readium Web Publication Manifest must include a `conformsTo` key in its `metadata` section, with `https://readium.org/webpub-manifest/profiles/pdf` as one of its value. -## 2. Restrictions on resources in the reading order +## 2. Restriction on resources in the reading order In addition to the normal requirements of a `readingOrder`, all Link Objects must point strictly to PDF resources, with no fragment identifier. - -> **Note** -> While this specification defines the possibility to insert several PDF files into the reading order, the current versions of the Readium toolkits only support one item.