#1121111 pdftk: dump_data corrupts output if width >= 1000pt

Package:
pdftk
Source:
pdftk
Description:
transitional package for pdftk, a tool for manipulating PDF documents
Submitter:
Marnanel Thurman
Date:
2025-11-21 05:51:01 UTC
Severity:
normal
#1121111#5
Date:
2025-11-21 05:29:15 UTC
From:
To:
Dear Maintainer,

The dimensions of pages given by pdftk's "dump_data" command include separator
commas for sizes 1000pt or greater. When such output is read back in by the
"update_info" command, large widths generate a warning. But for large heights,
the commas are interpreted as decimal points, causing the pages to become
drastically resized.

It is possible that this is locale-dependent. My locale has
LC_NUMERIC="en_GB.UTF-8" .

Here is an example of the problem for a tall PDF:

$ pdftk tall.pdf dump_data output tall.txt

$ cat tall.txt
InfoBegin
InfoKey: CreationDate
InfoValue: D:20251121050436Z
InfoBegin
InfoKey: Producer
InfoValue: cairo 1.16.0 (https://cairographics.org)
NumberOfPages: 3
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 264 1,099.92
PageMediaDimensions: 264 1,099.92
PageMediaBegin
PageMediaNumber: 2
PageMediaRotation: 0
PageMediaRect: 0 0 264 1,099.92
PageMediaDimensions: 264 1,099.92
PageMediaBegin
PageMediaNumber: 3
PageMediaRotation: 0
PageMediaRect: 0 0 264 1,099.92
PageMediaDimensions: 264 1,099.92

$ pdftk tall.pdf update_info tall.txt output tall2.pdf

$ pdftk tall2.pdf dump_data output tall2.txt

$ cat tall2.txt
InfoBegin
InfoKey: CreationDate
InfoValue: D:20251121050436Z
InfoBegin
InfoKey: Producer
InfoValue: cairo 1.16.0 (https://cairographics.org)
NumberOfPages: 3
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 264 1
PageMediaDimensions: 264 1
PageMediaBegin
PageMediaNumber: 2
PageMediaRotation: 0
PageMediaRect: 0 0 264 1
PageMediaDimensions: 264 1
PageMediaBegin
PageMediaNumber: 3
PageMediaRotation: 0
PageMediaRect: 0 0 264 1
PageMediaDimensions: 264 1

Compare the results for a wide PDF:

$ pdftk wide.pdf dump_data output wide.txt

$ cat wide.txt
InfoBegin
InfoKey: CreationDate
InfoValue: D:20251121050527Z
InfoBegin
InfoKey: Producer
InfoValue: cairo 1.16.0 (https://cairographics.org)
NumberOfPages: 1
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 1,098.96 264
PageMediaDimensions: 1,098.96 264

$ pdftk wide.pdf update_info wide.txt output wide2.pdf
pdftk Warning: unexpected PageMedia case in LoadDataFile(); continuing

$ pdftk wide2.pdf dump_data output wide2.txt

$ cat wide2.txt
InfoBegin
InfoKey: CreationDate
InfoValue: D:20251121050527Z
InfoBegin
InfoKey: Producer
InfoValue: cairo 1.16.0 (https://cairographics.org)
NumberOfPages: 1
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 1,098.96 264
PageMediaDimensions: 1,098.96 264