From 64b181bb7c73bd4e5c66e2041905978f3cb4fcbf Mon Sep 17 00:00:00 2001 From: venkateshwaransf5013 Date: Mon, 6 Apr 2026 16:56:38 +0530 Subject: [PATCH 1/4] Added the samples for data extractor --- ...xtract-data-as-JSON-from-PDF-document.slnx | 3 ++ .../Data/Input.pdf | Bin 0 -> 119951 bytes ...ract-data-as-JSON-from-PDF-document.csproj | 24 ++++++++++++++++ .../Output/.gitkeep | 0 .../Program.cs | 25 ++++++++++++++++ .../.NET/Extract-data-as-stream.slnx | 3 ++ .../Extract-data-as-stream/Data/Input.pdf | Bin 0 -> 119951 bytes .../Extract-data-as-stream.csproj | 24 ++++++++++++++++ .../Extract-data-as-stream/Output/.gitkeep | 0 .../.NET/Extract-data-as-stream/Program.cs | 27 ++++++++++++++++++ .../.NET/Extract-data-from-PDF-document.slnx | 3 ++ .../Data/Input.pdf | Bin 0 -> 119951 bytes .../Extract-data-from-PDF-document.csproj | 21 ++++++++++++++ .../Output/.gitkeep | 0 .../Extract-data-from-PDF-document/Program.cs | 27 ++++++++++++++++++ 15 files changed, 157 insertions(+) create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document.slnx create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document/Data/Input.pdf create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document/Extract-data-as-JSON-from-PDF-document.csproj create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document/Output/.gitkeep create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document/Program.cs create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-stream/.NET/Extract-data-as-stream.slnx create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-stream/.NET/Extract-data-as-stream/Data/Input.pdf create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-stream/.NET/Extract-data-as-stream/Extract-data-as-stream.csproj create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-stream/.NET/Extract-data-as-stream/Output/.gitkeep create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-as-stream/.NET/Extract-data-as-stream/Program.cs create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-from-PDF-document/.NET/Extract-data-from-PDF-document.slnx create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-from-PDF-document/.NET/Extract-data-from-PDF-document/Data/Input.pdf create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-from-PDF-document/.NET/Extract-data-from-PDF-document/Extract-data-from-PDF-document.csproj create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-from-PDF-document/.NET/Extract-data-from-PDF-document/Output/.gitkeep create mode 100644 Data-Extraction/Smart-Data-Extractor/Extract-data-from-PDF-document/.NET/Extract-data-from-PDF-document/Program.cs diff --git a/Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document.slnx b/Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document.slnx new file mode 100644 index 00000000..7b6ec0d3 --- /dev/null +++ b/Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document/Data/Input.pdf b/Data-Extraction/Smart-Data-Extractor/Extract-data-as-JSON-from-PDF/.NET/Extract-data-as-JSON-from-PDF-document/Data/Input.pdf new file mode 100644 index 0000000000000000000000000000000000000000..839bbb7237471a7a0c7ae6a8522e8c57360a8f84 GIT binary patch literal 119951 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