Как создать в pdf файле таблицу с данными?

Данные я получаю из json файла, преобразую их и заполняю базу данных. Я уже сделал вывод данных в pdf файл, теперь мне надо чтобы в этом pdf файле, данные были структурированы в таблицы

public class GraphActivity extends AppCompatActivity {
    Button pdf;
    TextView textView;
    String infoForError;
    ArrayList<Integer> dataErrors;
    ArrayList<String> labels;
    ArrayList<String> endError;
    ArrayList<Integer> tempError;
    ArrayList<Integer> turnoverError;
    String namePdfFile;
    String nameErB;
    boolean tempEr=false;
    int j;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_graph2);
        labels = new ArrayList<>();
        dataErrors = new ArrayList<>();
        endError=new ArrayList<>();
        turnoverError=new ArrayList<>();
        Bundle arguments = getIntent().getExtras();
        String date = arguments.getString("Date").toString();//получение даты ошибки
        labels=getIntent().getStringArrayListExtra("Значения label");//получение лейблов
        dataErrors=getIntent().getIntegerArrayListExtra("Значения duration");//получ знач durat
        nameErB=getIntent().getStringExtra("Имя ошибки");//получение имени ошибки
        endError=getIntent().getStringArrayListExtra("Дата окончания");
        if(nameErB.equals("Температура масла в баке")){
            tempError=getIntent().getIntegerArrayListExtra("Значение температуры");
            tempEr=true;
        }
        if(nameErB.equals("Аварийное давление в переднем тормозном контуре") || nameErB.equals("Аварийное давление в заднем тормозном контуре")|| nameErB.equals("Аварийное давление в переднем тормозном контуре")){
            turnoverError=getIntent().getIntegerArrayListExtra("Значения turnover");
        }
        textView = (TextView) findViewById(R.id.textView);
        namePdfFile=nameErB+date;
        textView.append(nameErB);
        BarChart barChart;
        barChart=(BarChart) findViewById(R.id.bargraph);
        ArrayList<BarEntry> barEntries=new ArrayList<>();
        for(int i=0;i<dataErrors.size();i++){
            barEntries.add(new BarEntry(dataErrors.get(i),i));
        }
        BarDataSet barDataSet=new BarDataSet(barEntries,"Измеряемое значение");
        ArrayList<String> theDates=new ArrayList<>();
        for(int i=0;i<labels.size();i++){
            theDates.add(labels.get(i));
        }
        infoForError="Название ошибки:"+nameErB+"\n за "+date+"\nбыло найдено "+dataErrors.size()+" ошибок\n";
        BarData theData=new BarData(theDates,barDataSet);
        barChart.setData(theData);
        barChart.setTouchEnabled(true);
        barChart.setDragEnabled(true);
        barChart.setScaleEnabled(true);
        BarGraphSeries<DataPoint> series=new BarGraphSeries<DataPoint>();
        ActivityCompat.requestPermissions(GraphActivity.this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
                Manifest.permission.WRITE_EXTERNAL_STORAGE}, PackageManager.PERMISSION_GRANTED);
    }
        public void createMyPDF(View view) throws FileNotFoundException, DocumentException {
        if(j==0) {
            PdfDocument myPdfDocument = new PdfDocument();
            PdfDocument.PageInfo myPageInfo = new PdfDocument.
                    PageInfo.Builder(600, 800, 1).create();
            PdfDocument.Page myPage = myPdfDocument.startPage(myPageInfo);
            Paint myPaint = new Paint();
            String myString = textView.getText().toString();
            int x = 10, y = 25;


            Document document = new Document();
            PdfWriter.getInstance(document, new FileOutputStream(FILE));
            document.open();

            for (int i = 0; i < labels.size(); i++) {

                infoForError += (i + 1) + " в " + (labels.get(i).substring(11, 19)) + " до " + (endError.get(i).substring(11, 19));
                if (turnoverError.size() != 0) {
                    infoForError += " Кол-во обортов " + turnoverError.get(i);
                }
                if (tempEr==true) {
                    infoForError += " Значение температуры " + tempError.get(i);
                }

                infoForError += "\n";

                }
                  for (String line : infoForError.split("\n")) {
                      myPage.getCanvas().drawText(line, x, y, myPaint);
                      y += myPaint.descent() - myPaint.ascent();
                  }

            myPdfDocument.finishPage(myPage);
            String myFilePath = Environment.getExternalStorageDirectory().getPath() + "/" + namePdfFile + ".pdf";
            File myFile = new File(myFilePath);

            try {
                myPdfDocument.writeTo(new FileOutputStream(myFile));
            } catch (Exception e) {
                e.printStackTrace();
                textView.setText("Ошибка при сохранении в PDF");
            }
            myPdfDocument.close();
            j++;
        }
    }

}


В этом классе, я получаю данных с разных активити и строю графики, и по нажатию на кнопку создаю pdf файл с данными, осталось только сделать чтобы эти данные заполнялись в таблицу Помогите пожалуйста, осталось совсем уже чуток))


Ответы (0 шт):