我正在使用PDFbox在我的代码中合并两个pdf文件,然后我想将结果(合并文件)存储到AWS s3桶中。我试图直接将pdf文件存储到s3,而不在我的系统中本地保存,但我无法找到任何方法来做到这一点。
我的代码合并两个pdf-
PDFMergerUtility pdfMergerUtility = new PDFMergerUtility();
String FinalFileName= "Merged.pdf";
pdfMergerUtility.setDestinationFileName(FinalFileName);
pdfMergerUtility.addSource(FileOne);
pdfMergerUtility.addSource(FileTwo);
pdfMergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
//To upload over s3
String fileNameIWantInS3 = "myfile.pdf";
s3.putObject(BucketName, fileNameIWantInS3, ??); //Stuck here
我不想在我的服务器上制作一个文件,而是想直接把它放在s3上,我如何修改这个代码来上载Merged.pdf
到s3桶。上面的代码只是我卡住的一部分。我使用File.createTempFile
创建的文件一和文件二。
整个想法是合并两个文件,并将最终文件放在s3上,而无需在服务器上进行物理复制!请帮助。
要上传文件,您需要传递字节数组或输入流,以下使用字节数组:
public void saveFileToS3(String yourBucketName,String pathAws,PDFDocument yourPdf_doc, String folderName) {
AmazonS3 s3Client = AwsUtil.s3Authentication();
PutObjectRequest objectRequest = PutObjectRequest.builder()
.bucket(yourBucketName)
.key(folderName+"/"+pathAws)//pathAws: path on S3 where the file will be saved
.build();
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
PdfWriter.getInstance(yourPdf_doc, byteArrayOutputStream);
//convert it into a byte array
byte[] pdfBytes = byteArrayOutputStream.toByteArray()
CompletableFuture<PutObjectResponse> future =
s3Client.putObject(objectRequest,AsyncRequestBody.fromBytes(pdfBytes));
future.whenComplete((resp, err) -> {
try {
if (resp != null) {
System.out.println("Object uploaded. Details: " + resp);
} else {
err.printStackTrace();
}
} finally {
s3Client.close();
}
});
future.join();
}
问题内容: 绘图模块 主模块 我想将所有图plot1,plot2,plot3保存到一个PDF文件中。有什么办法可以实现?我不能在主模块中包含该功能。 有一个名为的函数,但只有将其与绘图模块一起放置时,该函数才起作用。还有其他方法可以实现吗? 问题答案: 没关系,有办法做到这一点。 ------绘图模块------ ----- mainModule ---- ----- mainModule ---
下面的代码在内存中创建了一个文件。 我想把那个pdf文件保存在磁盘上以便查看。我将如何在python中实现它?
我创建了一个简单的应用程序,裁剪图像。现在我想保存这个图像到消防基地。 如何将此图像保存到Firebase。我尝试了很多教程,但都没有成功。请用简单的代码验证。
是的。这是这个问题的重复。然而,答案是错误的和误导性的。答案建议将密钥写入一个其他应用程序可以访问该文件的文件。如果我没看错的话,keystore的目的是生成并存储只能被你的app看到的私钥,所以我甚至不确定为什么答案在那个问题中被接受了。 另一个问题是关于加密和解密的,但并不是真正关于将数据保存到密钥存储区的问题。 好的,所以我发现一旦您调用就可以自动生成密钥,就像这个应用程序中演示的那样。但我
问题内容: 我试图使用在stackoverflow上发现的不同方法来保存.pdf文件,但是,我总是会损坏它。当我使用记事本打开损坏的文件时,我得到以下信息: 后来,我尝试使用@BalusC提供的答案从浏览器中保存文件。这个解决方案非常有帮助:我能够摆脱这些问题。但是,它也会产生损坏的.pdf。但是当我用记事本打开它时,它是完全不同的。但是,不再有登录问题: 我还有什么其他选择? PS:当我尝试使用
问题内容: 我想将HtmlUnit cookie保存到一个文件,然后在下一次运行时从该文件中加载它们。我怎样才能做到这一点?谢谢。 问题答案: