Skip to content

Ability to retrieve page size and rotation information in JSON #809

@xelan

Description

@xelan

Using pdfcpu info, the page sizes and rotation info can be shown:

$ pdfcpu info -u mm -p 0-99999 pagesizes.pdf 
pages: 0,1,2,3
pagesizes.pdf:
             Source: pagesizes.pdf
        PDF version: 1.6
         Page count: 3
Page 1: rot=+0 orientation:portrait
 MediaBox (mm) (0.00, 0.00, 210.01, 297.00) w=210.01 h=297.00 ar=0.71  = CropBox, TrimBox, BleedBox, ArtBox
Page 2: rot=+0 orientation:landscape
 MediaBox (mm) (0.00, 0.00, 297.00, 210.01) w=297.00 h=210.01 ar=1.41  = CropBox, TrimBox, BleedBox, ArtBox
Page 3: rot=+0 orientation:landscape
 MediaBox (mm) (0.00, 0.00, 420.00, 297.00) w=420.00 h=297.00 ar=1.41  = CropBox, TrimBox, BleedBox, ArtBox
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
              Title: 
             Author: 
            Subject: 
       PDF Producer: LibreOffice 7.0
    Content creator: Writer
      Creation date: D:20240227100816+01'00'
  Modification date: 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
             Tagged: No
             Hybrid: No
         Linearized: No
 Using XRef streams: No
Using object streams: No
        Watermarked: No
         Thumbnails: No
               Form: No
           Outlines: No
              Names: No
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
          Encrypted: No
        Permissions: Full access

However, the page size and rotation information is not included in the JSON:

$ pdfcpu info -j -u mm -p 0-99999 pagesizes.pdf 
pages: 0,1,2,3
{
	"header": {
		"version": "pdfcpu v0.6.0 dev",
		"creation": "2024-02-27 09:09:25 UTC"
	},
	"Infos": [
		{
			"source": "pagesizes.pdf",
			"version": "1.6",
			"pages": 3,
			"title": "",
			"author": "",
			"subject": "",
			"producer": "LibreOffice 7.0",
			"creator": "Writer",
			"creationDate": "D:20240227100816+01'00'",
			"modificationDate": "",
			"keywords": [],
			"properties": {},
			"tagged": false,
			"hybrid": false,
			"linearized": false,
			"usingXRefStreams": false,
			"usingObjectStreams": false,
			"watermarked": false,
			"thumbnails": false,
			"form": false,
			"signatures": false,
			"appendOnly": false,
			"bookmarks": false,
			"names": false,
			"encrypted": false,
			"permissions": 0
		}
	]
}

Furthermore, it would be interesting to provide an option for all pages instead of specifiying a hardcoded range such as 0-99999.

Thank you very much, best regards
Andreas

pagesizes.pdf

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions