阅读S3 Bucket的PDF文件

时间:2017-04-15 15:14:04

标签: java amazon-web-services pdf amazon-s3 pdfbox

我正在编写一个从s3存储桶读取文件的java程序。我的代码如下。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <meta charset="utf-8">
        <style>
            body {
                font-family: " Century Gothic ", Arial , sans-serif;
                font-size: 14px;
            }
            p {
                background-color: #f05a3f;
                padding: 20px;
            }
            p:hover {
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <p id="avsnitt"> Press me! Please! </p>

        <script>
            "use strict"
            //const avsnittEL = document.getElementById('avsnitt')
            const avsnittEl = document.querySelector("#avsnitt")
            avsnittEl.addEventListener('click', nytekst)

            function nytekst() {
                avsnittEl.innerHTML = 'Success!'
            }
        </script>
    </body>
</html>

这很好用。即它正确显示数据。

同样地,我试图通过进行以下更改来尝试从s3 Bucket中读取PDF内容。

AmazonS3 client = new AmazonS3Client(myCredentials);
        S3Object xFile = client.getObject("myBucket", "myFile.txt");
        InputStream contents = xFile.getObjectContent();
        BufferedReader br = new BufferedReader(new InputStreamReader(contents));
        while (true) {
            String line = br.readLine();
            if (line == null)
                break;

            System.out.println("    " + line);
        }
        System.out.println();

当我运行这个程序时,它会打印出乱码文本。

一般来说,为了阅读pdf,我使用PDfbox,这太棒了,但在这里我想从s3对象中读取它。我知道我们可以从s3文件URL中读取它并将其传递到PDFbox,但这种方法对我来说不起作用。

请让我知道我该怎么做。

由于

1 个答案:

答案 0 :(得分:1)

PDF是二进制格式。如果没有通过另一个程序,你将无法获得纯文本。