как правильно настроить размер всего изображения - PullRequest
0 голосов
/ 04 мая 2020

Я новичок в android! Я сделал приложение, которое конвертирует растровое изображение в PDF с помощью itext. это работает, но часть изображения отсутствует в PDF. (например, частично левая часть изображения). Я думаю, что должны быть некоторые настройки, чтобы это исправить. Более того, я думаю setAlignment не имеет отношения к этой проблеме!

EditText getter;
    Button saver;
    SignaturePad sig;
    Bitmap bmp;
    Image image;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getter = (EditText) findViewById(R.id.getter);
        saver = (Button) findViewById(R.id.savebtn);
        sig=(SignaturePad)findViewById(R.id.pad);

        saver.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                savePdf();

            }
        });


    }

    private void savePdf() {
        bmp = sig.getSignatureBitmap();
        Document mDocument =new Document();

        //pdf file name
        String mFileName="111";

        //pdf file path
        String mFilePath= Environment.getExternalStorageDirectory()+"/"+ mFileName + ".pdf";

        try {
            PdfWriter.getInstance(mDocument, new FileOutputStream(mFilePath));
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bmp.compress(Bitmap.CompressFormat.JPEG, 100 , stream);
            image = Image.getInstance(stream.toByteArray());
            image.setAlignment(image.ALIGN_MIDDLE);

            mDocument.open();
            Paragraph p1=new Paragraph();
            BaseFont myFont = BaseFont.createFont("assets/fonts/roya.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
            Font para_font = new Font(myFont,16);
            String mText=getter.getText().toString();

            p1.setFont(para_font);
            p1.add(mText);

            PdfPTable table = new PdfPTable(1);
            PdfPCell cell = new PdfPCell(p1);
            cell.setBorder(0);
            cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
            table.addCell(cell);

            mDocument.add(table);
            mDocument.add(image);

            mDocument.close();

        Toast.makeText(this, mFileName+".pdf\nis saved\n"+mFilePath, Toast.LENGTH_SHORT).show();


    }catch(Exception e){

        Toast.makeText(this,e.getMessage(), Toast.LENGTH_SHORT).show();

    }
}

первое изображение показывает все линии, которые я нарисовал второе изображение (pdf) не показывает некоторые строки

Большое спасибо за любая помощь

...