Skip to content

fix: parse decimal twips values in page margins - #1584

Open
ChenfromChina123 wants to merge 2 commits into
python-openxml:masterfrom
ChenfromChina123:fix/section-margin-parse
Open

fix: parse decimal twips values in page margins#1584
ChenfromChina123 wants to merge 2 commits into
python-openxml:masterfrom
ChenfromChina123:fix/section-margin-parse

Conversation

@ChenfromChina123

Copy link
Copy Markdown

What does this PR do?

Fixes ValueError: invalid literal for int() with base 10 when reading section.right_margin on documents whose <w:pgMar> attributes contain decimal values (e.g. w:right="0.218505859375"), which some tools write.

Closes #1539

Changes

  • src/docx/oxml/simpletypes.py: ST_TwipsMeasure.convert_from_xml now parses the value as float and rounds instead of calling int() directly, mirroring ST_UniversalMeasure behavior.

Verification

  • python -m py_compile passes.
  • ST_TwipsMeasure.convert_from_xml('0.218505859375')0 (twips), integer and unit values still parse correctly.

ChenfromChina123 and others added 2 commits August 10, 2026 22:34
The example calls add_picture('monty-truth.png') which raises
FileNotFoundError when the file is not present in the working
directory. Wrap it in a try/except so the example runs out of
the box.

Closes python-openxml#128

Co-Authored-By: AtomCode (deepseek-v4-flash) <[email protected]>
ST_TwipsMeasure.convert_from_xml called int() on the raw XML
attribute value, raising ValueError for decimal values such as
w:right="0.218505859375" which some tools write. Parse as float
and round instead, mirroring ST_UniversalMeasure behavior.

Closes python-openxml#1539

Co-Authored-By: AtomCode (deepseek-v4-flash) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Getting "ValueError: invalid literal for int() with base 10" error when access section's margin

1 participant