我正在尝试创建一个使用pdf创建的apk,并且我在android.graphics.pdf.PdfDocument中遇到问题

时间:2019-09-14 15:33:32

标签: java xml pdf

这是我的第一个应用程序,使用Internet上发现的功能时遇到问题。它会生成 .pdf 文件,该文件带有已定义的布局,但显示为全黑。我能做什么?我使用的功能真的有帮助吗?还是应该切换?
 注意:在编译过程中没有收到任何错误警告,并且在练习测试中没有发现任何“错误”。

try {
    android.graphics.pdf.PdfDocument document = new android.graphics.pdf.PdfDocument();
    android.graphics.pdf.PdfDocument.PageInfo pageInfo = new android.graphics.pdf.PdfDocument.PageInfo.Builder(linear6.getWidth(), linear6.getHeight(), 1).create();
    android.graphics.pdf.PdfDocument.Page page = document.startPage(pageInfo);
    Canvas canvas = page.getCanvas();
    Paint paint = new Paint();
    canvas.drawPaint(paint);
    linear6.draw(canvas);
    document.finishPage(page);
    if (!FileUtil.isExistFile(FileUtil.getExternalStorageDir().concat("/Caixa"))) {
        FileUtil.makeDir(FileUtil.getExternalStorageDir().concat("/Caixa/"));
    }
    path = FileUtil.getExternalStorageDir().concat("/Caixa/teste.pdf");
    FileUtil.writeFile(path, "");
    java.io.File myFile = new java.io.File(path);
    java.io.FileOutputStream fOut = new java.io.FileOutputStream(myFile);
    java.io.OutputStreamWriter myOW = new java.io.OutputStreamWriter(fOut);
    document.writeTo(fOut);
    document.close();
    myOW.close();
    fOut.close();
    SketchwareUtil.showMessage(getApplicationContext(), "Pdf salvo");
} catch(Exception e) {
    e.printStackTrace();
}  

生成代码。

import android.graphics.*;
import android.graphics.Canvas;
import android.graphics.Paint;
import java.io.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;  

使用的功能。

<LinearLayout
    android:id="@+id/linear6"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <TextView
        android:id="@+id/textview8"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="18sp"
        android:textColor="#000000"/>
</LinearLayout>

java代码引用的xml部分。

0 个答案:

没有答案