From a70afe6a9f8f12c50a6acbac9f54c69b5642d74c Mon Sep 17 00:00:00 2001 From: Michael Olayemi Date: Sat, 4 Feb 2023 07:50:37 +0100 Subject: [PATCH] BAEL-5866 Reading PDF File using Java (#13403) --- pdf/sample.pdf | Bin 0 -> 14049 bytes .../pdfreadertest/ReadPdfFileUnitTest.java | 52 ++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 pdf/sample.pdf create mode 100644 pdf/src/test/java/com/baeldung/pdfreadertest/ReadPdfFileUnitTest.java diff --git a/pdf/sample.pdf b/pdf/sample.pdf new file mode 100644 index 0000000000000000000000000000000000000000..805a21e6e029c58916e8e5b48fd445353c760375 GIT binary patch literal 14049 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