gpt4 book ai didi

java - IF 语句给出无法解析 PDFDocument 中的符号

转载 作者:行者123 更新时间:2023-12-01 19:35:24 27 4
gpt4 key购买 nike

因此,在我的应用程序中,我将图像上传到公司服务器

然后使用内置的 PDFdocument 方法将这些图像转换为 PDF,

现在我的问题是我试图通过添加 IF 语句来动态生成 PDF。因此,我的图像被加载到数组列表中,如果 ArrayList 中的某个位置有一个项目,我会调用 PDF 页面创建

 if(list.contains(list.get(0))){
code here

}

但是我收到无法解析下一页代码上的符号。

所以我想要发生的情况是,如果列表在位置 X 包含一个项目,那么它会创建一个页面,因此最终结果是,对于用户选择的每个图像,将创建一个新页面

PDF 创建代码

PdfDocument document=new PdfDocument();

if(list.contains(list.get(0))) {
PdfDocument.PageInfo pageInfo=new PdfDocument.PageInfo.Builder(300, 6000, 1).create();
PdfDocument.Page page=document.startPage(pageInfo);
Canvas canvas=page.getCanvas();

Bitmap image=BitmapFactory.decodeFile(list.get(0));
canvas.setDensity(DENSITY_XHIGH);
image.setDensity(DENSITY_XHIGH);
canvas.drawBitmap(image, 1, 1, null);
document.finishPage(page);
}

** 这里我无法解析页面、pageInfo、canvas 上的符号**

if(list.contains(list.get(1))) {
pageInfo = new PdfDocument.PageInfo.Builder(, 6000, 2).create();
page = document.startPage(pageInfo);
canvas = page.getCanvas();

Bitmap image2=BitmapFactory.decodeFile(list.get(1));
canvas.setDensity(DENSITY_XHIGH);
image2.setDensity(DENSITY_XHIGH);
canvas.drawBitmap(image2, 1, 1, null);
document.finishPage(page);
}


String directory_path=Environment.getExternalStorageDirectory().getPath() + "/mypdf/";
File file=new File(directory_path);
if (!file.exists()) {
file.mkdirs();
}
String timeStamp = (new SimpleDateFormat("yyyyMMdd_HHmmss")).format(new Date());
String targetPdf=directory_path + timeStamp +".pdf";
File filePath=new File(targetPdf);
try {
document.writeTo(new FileOutputStream(filePath));
Toast.makeText(this, "Done", Toast.LENGTH_LONG).show();
} catch (IOException e) {
Log.e("main", "error " + e.toString());
Toast.makeText(this, "Something wrong: " + e.toString(), Toast.LENGTH_LONG).show();
}
// close the document
document.close();

我认为我的问题是我在 m IF 语句的某个地方有语法错误,但我不确定任何帮助将不胜感激

最佳答案

它与 if 语句无关,只与代码块的范围有关。

if ( condition ) {
String t = "yes";
}
System.out.println("myString " + t);

这个简单的代码将导致与您当前的代码完全相同的问题。 t 是 if block 中的局部变量。一旦该 block 完成,该变量就不再存在。

要解决此问题:

String t = "";
if ( condition ) {
t = "yes";
}
System.out.println("myString " + t);

这样,t 变量在 if block 完成后就可以访问,因为由于它不是在 if block 中声明的,所以它不受其范围的限制。

关于java - IF 语句给出无法解析 PDFDocument 中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com