Sample code for 30+ languages & platforms
SQL Server

AWS Textract Detect Document Text

See more AWS Misc Examples

Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be in one of the following image formats: JPEG, PNG, PDF, or TIFF.

Chilkat SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    DECLARE @success int
    SELECT @success = 0

    -- This example assumes the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @rest int
    EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @bTls int
    SELECT @bTls = 1
    DECLARE @port int
    SELECT @port = 443
    DECLARE @bAutoReconnect int
    SELECT @bAutoReconnect = 1
    EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'textract.us-west-2.amazonaws.com', @port, @bTls, @bAutoReconnect

    -- Provide AWS credentials for the REST call.
    DECLARE @authAws int
    EXEC @hr = sp_OACreate 'Chilkat.AuthAws', @authAws OUT

    EXEC sp_OASetProperty @authAws, 'AccessKey', 'AWS_ACCESS_KEY'
    EXEC sp_OASetProperty @authAws, 'SecretKey', 'AWS_SECRET_KEY'
    -- the region should match our URL above..
    EXEC sp_OASetProperty @authAws, 'Region', 'us-west-2'
    EXEC sp_OASetProperty @authAws, 'ServiceName', 'textract'

    EXEC sp_OAMethod @rest, 'SetAuthAws', @success OUT, @authAws

    -- Use this online tool to generate code from sample JSON:
    -- Generate Code to Create JSON

    DECLARE @json int
    EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT

    -- The JSON can contain either the actual bytes of the JPG, PDF, PNG, etc.
    -- or a reference to the S3 object.
    -- 
    -- {
    --    "Document": { 
    --       "Bytes": blob,
    --       "S3Object": { 
    --          "Bucket": "string",
    --          "Name": "string",
    --          "Version": "string"
    --       }
    --    }
    -- }

    -- In this example we'll send the Bytes.  The S3Object is omitted.

    DECLARE @bdPng int
    EXEC @hr = sp_OACreate 'Chilkat.BinData', @bdPng OUT

    EXEC sp_OAMethod @bdPng, 'LoadFile', @success OUT, 'qa_data/png/image_with_text.png'
    IF @success = 0
      BEGIN

        PRINT 'Failed to load PNG file.'
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @bdPng
        RETURN
      END

    EXEC sp_OAMethod @bdPng, 'GetEncoded', @sTmp0 OUT, 'base64'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'Document.Bytes', @sTmp0

    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/x-amz-json-1.1'
    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'X-Amz-Target', 'Textract.DetectDocumentText'

    DECLARE @sbRequestBody int
    EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbRequestBody OUT

    EXEC sp_OAMethod @json, 'EmitSb', @success OUT, @sbRequestBody
    DECLARE @sbResponseBody int
    EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponseBody OUT

    EXEC sp_OAMethod @rest, 'FullRequestSb', @success OUT, 'POST', '/', @sbRequestBody, @sbResponseBody
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @bdPng
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        RETURN
      END
    DECLARE @respStatusCode int
    EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT

    PRINT 'response status code = ' + @respStatusCode

    DECLARE @jResp int
    EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jResp OUT

    EXEC sp_OASetProperty @jResp, 'EmitCompact', 0
    EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @sbResponseBody

    IF @respStatusCode >= 400
      BEGIN

        PRINT 'Response Status Code = ' + @respStatusCode

        PRINT 'Response Header:'
        EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Response Body:'
        EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @bdPng
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        EXEC @hr = sp_OADestroy @jResp
        RETURN
      END


    PRINT 'Response Body:'
    EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT
    PRINT @sTmp0

    -- Sample response body is shown below.

    -- Use this online tool to generate parsing code from sample JSON: 
    -- Generate Parsing Code from JSON

    DECLARE @BlockType nvarchar(4000)

    DECLARE @Height nvarchar(4000)

    DECLARE @Left nvarchar(4000)

    DECLARE @Top nvarchar(4000)

    DECLARE @Width nvarchar(4000)

    DECLARE @Id nvarchar(4000)

    DECLARE @Confidence nvarchar(4000)

    DECLARE @Text nvarchar(4000)

    DECLARE @TextType nvarchar(4000)

    DECLARE @j int

    DECLARE @count_j int

    DECLARE @X nvarchar(4000)

    DECLARE @Y nvarchar(4000)

    DECLARE @v_Type nvarchar(4000)

    DECLARE @k int

    DECLARE @count_k int

    DECLARE @strVal nvarchar(4000)

    DECLARE @DetectDocumentTextModelVersion nvarchar(4000)
    EXEC sp_OAMethod @jResp, 'StringOf', @DetectDocumentTextModelVersion OUT, 'DetectDocumentTextModelVersion'
    DECLARE @Pages int
    EXEC sp_OAMethod @jResp, 'IntOf', @Pages OUT, 'DocumentMetadata.Pages'
    DECLARE @i int
    SELECT @i = 0
    DECLARE @count_i int
    EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'Blocks'
    WHILE @i < @count_i
      BEGIN
        EXEC sp_OASetProperty @jResp, 'I', @i
        EXEC sp_OAMethod @jResp, 'StringOf', @BlockType OUT, 'Blocks[i].BlockType'
        EXEC sp_OAMethod @jResp, 'StringOf', @Height OUT, 'Blocks[i].Geometry.BoundingBox.Height'
        EXEC sp_OAMethod @jResp, 'StringOf', @Left OUT, 'Blocks[i].Geometry.BoundingBox.Left'
        EXEC sp_OAMethod @jResp, 'StringOf', @Top OUT, 'Blocks[i].Geometry.BoundingBox.Top'
        EXEC sp_OAMethod @jResp, 'StringOf', @Width OUT, 'Blocks[i].Geometry.BoundingBox.Width'
        EXEC sp_OAMethod @jResp, 'StringOf', @Id OUT, 'Blocks[i].Id'
        EXEC sp_OAMethod @jResp, 'StringOf', @Confidence OUT, 'Blocks[i].Confidence'
        EXEC sp_OAMethod @jResp, 'StringOf', @Text OUT, 'Blocks[i].Text'
        EXEC sp_OAMethod @jResp, 'StringOf', @TextType OUT, 'Blocks[i].TextType'
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'Blocks[i].Geometry.Polygon'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @X OUT, 'Blocks[i].Geometry.Polygon[j].X'
            EXEC sp_OAMethod @jResp, 'StringOf', @Y OUT, 'Blocks[i].Geometry.Polygon[j].Y'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'Blocks[i].Relationships'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @v_Type OUT, 'Blocks[i].Relationships[j].Type'
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'Blocks[i].Relationships[j].Ids'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'Blocks[i].Relationships[j].Ids[k]'
                SELECT @k = @k + 1
              END
            SELECT @j = @j + 1
          END
        SELECT @i = @i + 1
      END

    -- {
    --   "Blocks": [
    --     {
    --       "BlockType": "PAGE",
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 1.0,
    --           "Left": 0.0,
    --           "Top": 0.0,
    --           "Width": 1.0
    --         },
    --         "Polygon": [
    --           {
    --             "X": 7.334237466238847E-7,
    --             "Y": 0.0
    --           },
    --           {
    --             "X": 1.0,
    --             "Y": 2.065305579890264E-6
    --           },
    --           {
    --             "X": 1.0,
    --             "Y": 1.0
    --           },
    --           {
    --             "X": 0.0,
    --             "Y": 1.0
    --           }
    --         ]
    --       },
    --       "Id": "9d01c4e1-c7ee-46d3-a020-b5d691551542",
    --       "Relationships": [
    --         {
    --           "Ids": [
    --             "5d230339-1492-4715-b643-3c1c092b9601",
    --             "06eb9de7-c1b2-4de4-83d4-bf14c683bbbc",
    --             "e3708093-ddce-4ece-b51b-36e75ee0650a",
    --             "0b75416b-4c5a-47ee-af5f-38e86196d09d",
    --             "f8e53727-d359-40a1-9c7a-17212be5b62f"
    --           ],
    --           "Type": "CHILD"
    --         }
    --       ]
    --     },
    --     {
    --       "BlockType": "LINE",
    --       "Confidence": 99.96929168701172,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.1283034384250641,
    --           "Left": 0.02562711574137211,
    --           "Top": 0.04522315785288811,
    --           "Width": 0.7353771924972534
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.025710511952638626,
    --             "Y": 0.04522315785288811
    --           },
    --           {
    --             "X": 0.7610043287277222,
    --             "Y": 0.04609351605176926
    --           },
    --           {
    --             "X": 0.7609506249427795,
    --             "Y": 0.1735266000032425
    --           },
    --           {
    --             "X": 0.02562711574137211,
    --             "Y": 0.17263372242450714
    --           }
    --         ]
    --       },
    --       "Id": "5d230339-1492-4715-b643-3c1c092b9601",
    --       "Relationships": [
    --         {
    --           "Ids": [
    --             "d10275a1-6a07-4df3-836e-b8418c7302e1",
    --             "f9394a51-8386-4245-b8f6-a4b8889b16be",
    --             "4a422774-0db5-47b1-9d86-486ee4df7bc9",
    --             "5018930a-0cb5-4df2-a782-ccb40b98692e",
    --             "5decb4b9-fa44-4b74-a410-d753ca9da87e"
    --           ],
    --           "Type": "CHILD"
    --         }
    --       ],
    --       "Text": "It was the best of"
    --     },
    --     {
    --       "BlockType": "LINE",
    --       "Confidence": 99.95220184326172,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.15143845975399017,
    --           "Left": 0.02354392223060131,
    --           "Top": 0.23623499274253845,
    --           "Width": 0.9416812658309937
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.02364235743880272,
    --             "Y": 0.23623499274253845
    --           },
    --           {
    --             "X": 0.9652252197265625,
    --             "Y": 0.23739269375801086
    --           },
    --           {
    --             "X": 0.9651715755462646,
    --             "Y": 0.3876734673976898
    --           },
    --           {
    --             "X": 0.02354392223060131,
    --             "Y": 0.38648173213005066
    --           }
    --         ]
    --       },
    --       "Id": "06eb9de7-c1b2-4de4-83d4-bf14c683bbbc",
    --       "Relationships": [
    --         {
    --           "Ids": [
    --             "df38a25e-1237-4837-9c73-2628cf2a60d6",
    --             "4006856d-989a-413a-a19d-ba58464056c7",
    --             "0cefb90d-9771-4a62-b47b-f4653f5a5fdc",
    --             "b090e2a0-59cb-483a-8489-eb7367c3ec42",
    --             "584e024d-cdb8-4991-964a-a6c00a219b4d"
    --           ],
    --           "Type": "CHILD"
    --         }
    --       ],
    --       "Text": "times, it was the worst"
    --     },
    --     {
    --       "BlockType": "LINE",
    --       "Confidence": 99.97298431396484,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.1645825207233429,
    --           "Left": 0.023708077147603035,
    --           "Top": 0.42446625232696533,
    --           "Width": 0.958830714225769
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.023815063759684563,
    --             "Y": 0.42446625232696533
    --           },
    --           {
    --             "X": 0.9825388193130493,
    --             "Y": 0.42568835616111755
    --           },
    --           {
    --             "X": 0.9824814200401306,
    --             "Y": 0.5890488028526306
    --           },
    --           {
    --             "X": 0.023708077147603035,
    --             "Y": 0.5877890586853027
    --           }
    --         ]
    --       },
    --       "Id": "e3708093-ddce-4ece-b51b-36e75ee0650a",
    --       "Relationships": [
    --         {
    --           "Ids": [
    --             "9e7fcad8-5fac-497e-941c-6af065273c4f",
    --             "06fa7250-a384-44b1-a821-f4961437dab8",
    --             "a5856e1f-1c35-4fd8-9d5c-ec112ce446da",
    --             "5d92695a-2ef5-4175-8483-955bdd21c8c5",
    --             "145e3940-2b15-4b0f-a1ef-c1eec67bfd34",
    --             "979e61b4-b915-4001-8761-e417fb5bcc88"
    --           ],
    --           "Type": "CHILD"
    --         }
    --       ],
    --       "Text": "of times, it was the age"
    --     },
    --     {
    --       "BlockType": "LINE",
    --       "Confidence": 99.92354583740234,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.15201467275619507,
    --           "Left": 0.02298363670706749,
    --           "Top": 0.6132552623748779,
    --           "Width": 0.8867681622505188
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.02308245748281479,
    --             "Y": 0.6132552623748779
    --           },
    --           {
    --             "X": 0.909751832485199,
    --             "Y": 0.6144257187843323
    --           },
    --           {
    --             "X": 0.9096953868865967,
    --             "Y": 0.765269935131073
    --           },
    --           {
    --             "X": 0.02298363670706749,
    --             "Y": 0.7640674114227295
    --           }
    --         ]
    --       },
    --       "Id": "0b75416b-4c5a-47ee-af5f-38e86196d09d",
    --       "Relationships": [
    --         {
    --           "Ids": [
    --             "477b9395-e813-4f47-8f6c-bbc6fd2a1b1d",
    --             "cb715516-6798-4db7-922e-aaa05c999497",
    --             "ff4bbb55-0ab1-4c91-a910-c44da34f3702",
    --             "8eae93f4-70a2-4723-b532-e52dfdde18fc",
    --             "7a25756d-68e2-45ec-bef4-f919294fecb3"
    --           ],
    --           "Type": "CHILD"
    --         }
    --       ],
    --       "Text": "of wisdom, it was the"
    --     },
    --     {
    --       "BlockType": "LINE",
    --       "Confidence": 99.92982482910156,
    --       "Geometry": {
    -- 
    --         "BoundingBox": {
    --           "Height": 0.1690569967031479,
    --           "Left": 0.02215408906340599,
    --           "Top": 0.7996805906295776,
    --           "Width": 0.7357001900672913
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.022264225408434868,
    --             "Y": 0.7996805906295776
    --           },
    --           {
    --             "X": 0.7578542828559875,
    --             "Y": 0.8006845116615295
    --           },
    --           {
    --             "X": 0.7577832937240601,
    --             "Y": 0.9687376022338867
    --           },
    --           {
    --             "X": 0.02215408906340599,
    --             "Y": 0.9677039980888367
    --           }
    --         ]
    --       },
    --       "Id": "f8e53727-d359-40a1-9c7a-17212be5b62f",
    --       "Relationships": [
    --         {
    --           "Ids": [
    --             "5763091d-4807-44b0-94d6-1f6fba7c66ad",
    --             "f08b6956-7c97-4877-83e2-f495b3983963",
    --             "275f5f9f-fcd6-4447-8242-c6e777fc762a"
    --           ],
    --           "Type": "CHILD"
    --         }
    --       ],
    --       "Text": "age of foolishness"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.95569610595703,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12361754477024078,
    --           "Left": 0.02562711574137211,
    --           "Top": 0.049105118960142136,
    --           "Width": 0.07332543283700943
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.025707971304655075,
    --             "Y": 0.049105118960142136
    --           },
    --           {
    --             "X": 0.09895254671573639,
    --             "Y": 0.04919188469648361
    --           },
    --           {
    --             "X": 0.09887456148862839,
    --             "Y": 0.17272266745567322
    --           },
    --           {
    --             "X": 0.02562711574137211,
    --             "Y": 0.17263372242450714
    --           }
    --         ]
    --       },
    --       "Id": "d10275a1-6a07-4df3-836e-b8418c7302e1",
    --       "Text": "It",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.91895294189453,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.07870253175497055,
    --           "Left": 0.12013984471559525,
    --           "Top": 0.09188469499349594,
    --           "Width": 0.15315164625644684
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.1201888844370842,
    --             "Y": 0.09188469499349594
    --           },
    --           {
    --             "X": 0.2732914984226227,
    --             "Y": 0.09206762909889221
    --           },
    --           {
    --             "X": 0.27324625849723816,
    --             "Y": 0.1705872267484665
    --           },
    --           {
    --             "X": 0.12013984471559525,
    --             "Y": 0.17040139436721802
    --           }
    --         ]
    --       },
    --       "Id": "f9394a51-8386-4245-b8f6-a4b8889b16be",
    --       "Text": "was",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.9923095703125,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12304235994815826,
    --           "Left": 0.30181974172592163,
    --           "Top": 0.048208922147750854,
    --           "Width": 0.13491466641426086
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.30188941955566406,
    --             "Y": 0.048208922147750854
    --           },
    --           {
    --             "X": 0.4367344081401825,
    --             "Y": 0.04836862161755562
    --           },
    --           {
    --             "X": 0.4366699755191803,
    --             "Y": 0.17125128209590912
    --           },
    --           {
    --             "X": 0.30181974172592163,
    --             "Y": 0.1710876077413559
    --           }
    --         ]
    --       },
    --       "Id": "4a422774-0db5-47b1-9d86-486ee4df7bc9",
    --       "Text": "the",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.9902114868164,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12650197744369507,
    --           "Left": 0.4637022018432617,
    --           "Top": 0.04641735553741455,
    --           "Width": 0.17412298917770386
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.46376731991767883,
    --             "Y": 0.04641735553741455
    --           },
    --           {
    --             "X": 0.6378251910209656,
    --             "Y": 0.046623412519693375
    --           },
    --           {
    --             "X": 0.6377670168876648,
    --             "Y": 0.17291933298110962
    --           },
    --           {
    --             "X": 0.4637022018432617,
    --             "Y": 0.17270798981189728
    --           }
    --         ]
    --       },
    --       "Id": "5018930a-0cb5-4df2-a782-ccb40b98692e",
    --       "Text": "best",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.98930358886719,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12482605874538422,
    --           "Left": 0.6641513109207153,
    --           "Top": 0.04597894102334976,
    --           "Width": 0.09685297310352325
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.6642076969146729,
    --             "Y": 0.04597894102334976
    --           },
    --           {
    --             "X": 0.7610043287277222,
    --             "Y": 0.04609351605176926
    --           },
    --           {
    --             "X": 0.7609517574310303,
    --             "Y": 0.17080500721931458
    --           },
    --           {
    --             "X": 0.6641513109207153,
    --             "Y": 0.17068752646446228
    --           }
    --         ]
    --       },
    --       "Id": "5decb4b9-fa44-4b74-a410-d753ca9da87e",
    --       "Text": "of",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.94082641601562,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.1432349979877472,
    --           "Left": 0.02354392223060131,
    --           "Top": 0.24356883764266968,
    --           "Width": 0.25458571314811707
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.023637553676962852,
    --             "Y": 0.24356883764266968
    --           },
    --           {
    --             "X": 0.2781296372413635,
    --             "Y": 0.2438821941614151
    --           },
    --           {
    --             "X": 0.2780475318431854,
    --             "Y": 0.38680383563041687
    --           },
    --           {
    --             "X": 0.02354392223060131,
    --             "Y": 0.38648173213005066
    --           }
    --         ]
    --       },
    --       "Id": "df38a25e-1237-4837-9c73-2628cf2a60d6",
    --       "Text": "times,",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.98735046386719,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.11849363893270493,
    --           "Left": 0.3037284016609192,
    --           "Top": 0.24306905269622803,
    --           "Width": 0.0635330006480217
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.3037954568862915,
    --             "Y": 0.24306905269622803
    --           },
    --           {
    --             "X": 0.3672614097595215,
    --             "Y": 0.24314717948436737
    --           },
    --           {
    --             "X": 0.3671967089176178,
    --             "Y": 0.36156269907951355
    --           },
    --           {
    --             "X": 0.3037284016609192,
    --             "Y": 0.36148273944854736
    --           }
    --         ]
    --       },
    --       "Id": "4006856d-989a-413a-a19d-ba58464056c7",
    --       "Text": "it",
    --       "TextType": "HANDWRITING"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.9149398803711,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.08177535980939865,
    --           "Left": 0.38862472772598267,
    --           "Top": 0.27884912490844727,
    --           "Width": 0.15473271906375885
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.3886687457561493,
    --             "Y": 0.27884912490844727
    --           },
    --           {
    --             "X": 0.5433574318885803,
    --             "Y": 0.2790408730506897
    --           },
    --           {
    --             "X": 0.543317437171936,
    --             "Y": 0.3606244921684265
    --           },
    --           {
    --             "X": 0.38862472772598267,
    --             "Y": 0.36042970418930054
    --           }
    --         ]
    --       },
    --       "Id": "0cefb90d-9771-4a62-b47b-f4653f5a5fdc",
    --       "Text": "was",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.99311828613281,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12356647849082947,
    --           "Left": 0.5699390172958374,
    --           "Top": 0.2369067519903183,
    --           "Width": 0.13684332370758057
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.5699985027313232,
    --             "Y": 0.2369067519903183
    --           },
    --           {
    --             "X": 0.706782341003418,
    --             "Y": 0.23707492649555206
    --           },
    --           {
    --             "X": 0.7067282199859619,
    --             "Y": 0.3604732155799866
    --           },
    --           {
    --             "X": 0.5699390172958374,
    --             "Y": 0.3603009879589081
    --           }
    --         ]
    --       },
    --       "Id": "b090e2a0-59cb-483a-8489-eb7367c3ec42",
    --       "Text": "the",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.92478942871094,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.09358794242143631,
    --           "Left": 0.7283655405044556,
    --           "Top": 0.26839619874954224,
    --           "Width": 0.23684848845005035
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.7284058332443237,
    --             "Y": 0.26839619874954224
    --           },
    --           {
    --             "X": 0.9652140140533447,
    --             "Y": 0.2686891257762909
    --           },
    --           {
    --             "X": 0.9651807546615601,
    --             "Y": 0.36198413372039795
    --           },
    --           {
    --             "X": 0.7283655405044556,
    --             "Y": 0.3616859018802643
    --           }
    --         ]
    --       },
    --       "Id": "584e024d-cdb8-4991-964a-a6c00a219b4d",
    --       "Text": "worst",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.9924087524414,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12504424154758453,
    --           "Left": 0.023733235895633698,
    --           "Top": 0.42446625232696533,
    --           "Width": 0.09820675849914551
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.023815063759684563,
    --             "Y": 0.42446625232696533
    --           },
    --           {
    --             "X": 0.1219399943947792,
    --             "Y": 0.4245913326740265
    --           },
    --           {
    --             "X": 0.12186205387115479,
    --             "Y": 0.5495104789733887
    --           },
    --           {
    --             "X": 0.023733235895633698,
    --             "Y": 0.5493824481964111
    --           }
    --         ]
    --       },
    --       "Id": "9e7fcad8-5fac-497e-941c-6af065273c4f",
    --       "Text": "of",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.96434020996094,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.14146748185157776,
    --           "Left": 0.1365714967250824,
    --           "Top": 0.43465203046798706,
    --           "Width": 0.2509154975414276
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.1366589069366455,
    --             "Y": 0.43465203046798706
    --           },
    --           {
    --             "X": 0.38748699426651,
    --             "Y": 0.43497234582901
    --           },
    --           {
    --             "X": 0.3874107897281647,
    --             "Y": 0.5761194825172424
    --           },
    --           {
    --             "X": 0.1365714967250824,
    --             "Y": 0.5757906436920166
    --           }
    --         ]
    --       },
    --       "Id": "06fa7250-a384-44b1-a821-f4961437dab8",
    --       "Text": "times,",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.98502349853516,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.11561936885118484,
    --           "Left": 0.4144190847873688,
    --           "Top": 0.43338337540626526,
    --           "Width": 0.06467052549123764
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.41448044776916504,
    --             "Y": 0.43338337540626526
    --           },
    --           {
    --             "X": 0.479089617729187,
    --             "Y": 0.4334658682346344
    --           },
    --           {
    --             "X": 0.4790306091308594,
    --             "Y": 0.5490027666091919
    --           },
    --           {
    --             "X": 0.4144190847873688,
    --             "Y": 0.5489184856414795
    --           }
    --         ]
    --       },
    --       "Id": "a5856e1f-1c35-4fd8-9d5c-ec112ce446da",
    --       "Text": "it",
    --       "TextType": "HANDWRITING"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.91905975341797,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.08224299550056458,
    --           "Left": 0.49934622645378113,
    --           "Top": 0.4678362309932709,
    --           "Width": 0.15544551610946655
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.49938759207725525,
    --             "Y": 0.4678362309932709
    --           },
    --           {
    --             "X": 0.6547917127609253,
    --             "Y": 0.4680359363555908
    --           },
    --           {
    --             "X": 0.6547544002532959,
    --             "Y": 0.5500792264938354
    --           },
    --           {
    --             "X": 0.49934622645378113,
    --             "Y": 0.5498764514923096
    --           }
    --         ]
    --       },
    --       "Id": "5d92695a-2ef5-4175-8483-955bdd21c8c5",
    --       "Text": "was",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.99500274658203,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12332675606012344,
    --           "Left": 0.6814824938774109,
    --           "Top": 0.4259999394416809,
    --           "Width": 0.13685987889766693
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.6815374493598938,
    --             "Y": 0.4259999394416809
    --           },
    --           {
    --             "X": 0.8183423280715942,
    --             "Y": 0.4261743724346161
    --           },
    --           {
    --             "X": 0.8182926774024963,
    --             "Y": 0.5493267178535461
    --           },
    --           {
    --             "X": 0.6814824938774109,
    --             "Y": 0.5491482615470886
    --           }
    --         ]
    --       },
    --       "Id": "145e3940-2b15-4b0f-a1ef-c1eec67bfd34",
    --       "Text": "the",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.98210144042969,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12430953234434128,
    --           "Left": 0.8426083326339722,
    --           "Top": 0.46473923325538635,
    --           "Width": 0.13991668820381165
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.8426574468612671,
    --             "Y": 0.46473923325538635
    --           },
    --           {
    --             "X": 0.9825250506401062,
    --             "Y": 0.464918851852417
    --           },
    --           {
    --             "X": 0.9824814200401306,
    --             "Y": 0.5890488028526306
    --           },
    --           {
    --             "X": 0.8426083326339722,
    --             "Y": 0.5888649821281433
    --           }
    --         ]
    --       },
    --       "Id": "979e61b4-b915-4001-8761-e417fb5bcc88",
    --       "Text": "age",
    --       "TextType": "HANDWRITING"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.9930419921875,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12172402441501617,
    --           "Left": 0.023001601919531822,
    --           "Top": 0.6150603294372559,
    --           "Width": 0.09997083991765976
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.023081274703145027,
    --             "Y": 0.6150603294372559
    --           },
    --           {
    --             "X": 0.12297244369983673,
    --             "Y": 0.615192174911499
    --           },
    --           {
    --             "X": 0.12289661169052124,
    --             "Y": 0.7367843389511108
    --           },
    --           {
    --             "X": 0.023001601919531822,
    --             "Y": 0.7366495132446289
    --           }
    --         ]
    --       },
    --       "Id": "477b9395-e813-4f47-8f6c-bbc6fd2a1b1d",
    --       "Text": "of",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.74298858642578,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.14897798001766205,
    --           "Left": 0.12940004467964172,
    --           "Top": 0.6157097220420837,
    --           "Width": 0.3510173559188843
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.12949234247207642,
    --             "Y": 0.6157097220420837
    --           },
    --           {
    --             "X": 0.480417400598526,
    --             "Y": 0.6161730885505676
    --           },
    --           {
    --             "X": 0.4803416132926941,
    --             "Y": 0.7646876573562622
    --           },
    --           {
    --             "X": 0.12940004467964172,
    --             "Y": 0.7642117142677307
    --           }
    --         ]
    --       },
    --       "Id": "cb715516-6798-4db7-922e-aaa05c999497",
    --       "Text": "wisdom,",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.98406982421875,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.11607321351766586,
    --           "Left": 0.5076302886009216,
    --           "Top": 0.6217586398124695,
    --           "Width": 0.06478644162416458
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.5076884627342224,
    --             "Y": 0.6217586398124695
    --           },
    --           {
    --             "X": 0.5724167227745056,
    --             "Y": 0.6218441724777222
    --           },
    --           {
    --             "X": 0.5723609328269958,
    --             "Y": 0.7378318309783936
    --           },
    --           {
    --             "X": 0.5076302886009216,
    --             "Y": 0.7377444505691528
    --           }
    --         ]
    --       },
    --       "Id": "ff4bbb55-0ab1-4c91-a910-c44da34f3702",
    --       "Text": "it",
    --       "TextType": "HANDWRITING"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.90616607666016,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.08252032846212387,
    --           "Left": 0.5927665829658508,
    --           "Top": 0.655697226524353,
    --           "Width": 0.15431776642799377
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.5928056836128235,
    --             "Y": 0.655697226524353
    --           },
    --           {
    --             "X": 0.747084379196167,
    --             "Y": 0.6559024453163147
    --           },
    --           {
    --             "X": 0.7470493316650391,
    --             "Y": 0.7382175922393799
    --           },
    --           {
    --             "X": 0.5927665829658508,
    --             "Y": 0.7380093336105347
    --           }
    --         ]
    --       },
    --       "Id": "8eae93f4-70a2-4723-b532-e52dfdde18fc",
    --       "Text": "was",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.9914321899414,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12222800403833389,
    --           "Left": 0.775054395198822,
    --           "Top": 0.6142479777336121,
    --           "Width": 0.13469739258289337
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.7751052975654602,
    --             "Y": 0.6142479777336121
    --           },
    --           {
    --             "X": 0.909751832485199,
    --             "Y": 0.6144257187843323
    --           },
    --           {
    --             "X": 0.9097061157226562,
    --             "Y": 0.736475944519043
    --           },
    --           {
    --             "X": 0.775054395198822,
    --             "Y": 0.7362942695617676
    --           }
    --         ]
    --       },
    --       "Id": "7a25756d-68e2-45ec-bef4-f919294fecb3",
    --       "Text": "the",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.98051452636719,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12403102964162827,
    --           "Left": 0.02215408906340599,
    --           "Top": 0.8438721299171448,
    --           "Width": 0.1418474167585373
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.022235259413719177,
    --             "Y": 0.8438721299171448
    --           },
    --           {
    --             "X": 0.16400150954723358,
    --             "Y": 0.8440671563148499
    --           },
    --           {
    --             "X": 0.163925901055336,
    --             "Y": 0.967903196811676
    --           },
    --           {
    --             "X": 0.02215408906340599,
    --             "Y": 0.9677039980888367
    --           }
    --         ]
    --       },
    --       "Id": "5763091d-4807-44b0-94d6-1f6fba7c66ad",
    --       "Text": "age",
    --       "TextType": "PRINTED"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.9867935180664,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12490887939929962,
    --           "Left": 0.18867632746696472,
    --           "Top": 0.7999078035354614,
    --           "Width": 0.09571950137615204
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.18875153362751007,
    --             "Y": 0.7999078035354614
    --           },
    --           {
    --             "X": 0.28439584374427795,
    --             "Y": 0.8000383377075195
    --           },
    --           {
    --             "X": 0.28432440757751465,
    --             "Y": 0.9248167276382446
    --           },
    --           {
    --             "X": 0.18867632746696472,
    --             "Y": 0.9246832728385925
    --           }
    --         ]
    --       },
    --       "Id": "f08b6956-7c97-4877-83e2-f495b3983963",
    --       "Text": "of",
    --       "TextType": "HANDWRITING"
    --     },
    --     {
    --       "BlockType": "WORD",
    --       "Confidence": 99.82215881347656,
    --       "Geometry": {
    --         "BoundingBox": {
    --           "Height": 0.12534499168395996,
    --           "Left": 0.3012242317199707,
    --           "Top": 0.8001948595046997,
    --           "Width": 0.4566299617290497
    --         },
    --         "Polygon": [
    --           {
    --             "X": 0.3012949526309967,
    --             "Y": 0.8001948595046997
    --           },
    --           {
    --             "X": 0.7578542232513428,
    --             "Y": 0.8008179664611816
    --           },
    --           {
    --             "X": 0.7578015327453613,
    --             "Y": 0.9255398511886597
    --           },
    --           {
    --             "X": 0.3012242317199707,
    --             "Y": 0.9249030947685242
    --           }
    --         ]
    --       },
    --       "Id": "275f5f9f-fcd6-4447-8242-c6e777fc762a",
    --       "Text": "foolishness",
    --       "TextType": "PRINTED"
    --     }
    --   ],
    --   "DetectDocumentTextModelVersion": "1.0",
    --   "DocumentMetadata": {
    --     "Pages": 1
    --   }
    -- }

    EXEC @hr = sp_OADestroy @rest
    EXEC @hr = sp_OADestroy @authAws
    EXEC @hr = sp_OADestroy @json
    EXEC @hr = sp_OADestroy @bdPng
    EXEC @hr = sp_OADestroy @sbRequestBody
    EXEC @hr = sp_OADestroy @sbResponseBody
    EXEC @hr = sp_OADestroy @jResp


END
GO