From df98f9cf4409ed08bcee6222b7d0da5a05993ecc Mon Sep 17 00:00:00 2001 From: Jeremy Singer-Vine Date: Fri, 15 Oct 2021 09:34:39 -0400 Subject: [PATCH] Handle utf-16-encoded annotations (#463) Thanks to @tungph for the fix proposal. --- CHANGELOG.md | 1 + pdfplumber/page.py | 5 ++++- tests/pdfs/issue-463-example.pdf | Bin 0 -> 88676 bytes tests/test_issues.py | 9 +++++++++ 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 tests/pdfs/issue-463-example.pdf diff --git a/CHANGELOG.md b/CHANGELOG.md index 4869a170..c4c60b16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file. The format ### Fixed - Fix slowdown in `.extract_words(...)`/`WordExtractor.iter_chars_to_words(...)` on very long words, caused by repeatedly re-calculating bounding box. ([#483](https://github.com/jsvine/pdfplumber/discussions/483)) +- Handle `UnicodeDecodeError` when trying to decode utf-16-encoded annotations ([#463](https://github.com/jsvine/pdfplumber/issues/463)) [h/t @tungph] ### Development Changes - Add `CONTRIBUTING.md` ([#428](https://github.com/jsvine/pdfplumber/pull/428)) diff --git a/pdfplumber/page.py b/pdfplumber/page.py index cf6b0f58..ba3a83b6 100644 --- a/pdfplumber/page.py +++ b/pdfplumber/page.py @@ -124,7 +124,10 @@ def parse(annot): } for k, v in extras.items(): if v is not None: - extras[k] = v.decode("utf-8") + try: + extras[k] = v.decode("utf-8") + except UnicodeDecodeError: + extras[k] = v.decode("utf-16") parsed = { "page_number": self.page_number, diff --git a/tests/pdfs/issue-463-example.pdf b/tests/pdfs/issue-463-example.pdf new file mode 100644 index 0000000000000000000000000000000000000000..317ab098e22e132ce7945f17b7757f30659ae5e9 GIT binary patch literal 88676 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

wH-uXL13^d&FaQ7m literal 0 HcmV?d00001 diff --git a/tests/test_issues.py b/tests/test_issues.py index d04d8522..b7e989fe 100644 --- a/tests/test_issues.py +++ b/tests/test_issues.py @@ -187,3 +187,12 @@ def test_issue_386(self): with pdfplumber.open(path) as pdf: chars = (char for char in pdf.chars) pdfplumber.utils.extract_text(chars) + + def test_issue_463(self): + """ + Extracting annotations should not raise UnicodeDecodeError on utf-16 text + """ + path = os.path.join(HERE, "pdfs/issue-463-example.pdf") + with pdfplumber.open(path) as pdf: + annots = pdf.annots + annots[0]["contents"] == "日本語"