小编Ani*_*mar的帖子

如何将图像转换为PDF?

我正在开发一个应用程序,我需要将图像转换为PDF.我尝试了一些东西,但问题是,PDF中的图像尺寸非常小.我需要解决方案来解决这个问题 此外,我正在寻找将多个图像转换为单个PDF文档.我将发布我尝试过的代码.

    public void convertPDF(byte[] path)
{
 String FILE = "mnt/sdcard/FirstPdf.pdf";
    Document document=new Document();
    try {
        PdfWriter.getInstance(document, new FileOutputStream(FILE));
        document.open();

        try {
            image=Image.getInstance(path);
            document.add(new Paragraph("My Heading"));
            document.add(image);
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我将Bitmap转换为Byte数组时,我正在压缩图像,我猜,这就是原因.在不压缩图像的情况下,我无法将Bitmap转换为字节数组.

 ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.PNG,100,stream);
        byte[] byteArray=stream.toByteArray();
        convertPDF(byteArray);
Run Code Online (Sandbox Code Playgroud)

这有什么解决方案吗?

更新

在这里,我已经实现了@Burak Cakir在答案中提出的答案.但现在我在PDF中获得更大的图像.为了更好地理解,请查看下面的图像.在此输入图像描述

实际上是Image 在此输入图像描述

android android-image android-bitmap android-pdf-api

12
推荐指数
4
解决办法
2万
查看次数

如何在android中以编程方式关闭我的应用程序?

我需要退出我的应用程序,我已经引用了 Stack Overflow 和其他网站上的所有链接,我已经使用了,,finishAffinity()仍然无法实现它。我正在重写主活动中的 onBackPressed 方法并终止应用程序。finish()System.exit(0)

实际上,当我启动应用程序后按后退按钮时,它工作得很好。但是当我继续进行其他活动并返回 MainActivity 时,它不起作用。如果我使用finishAffinity()它,则打开我的相机活动,这是我在项目中的活动之一。如果我使用finish()它就是打开我的第二页活动。

我将发布我的代码以供参考。

MainActivity.Java

 @Override
public void onBackPressed()
{

    if (back_pressed + 2000 > System.currentTimeMillis())
    {
        Log.e("called", "back pressed");
       finish();


    }

    else {

        Toast.makeText(getBaseContext(), "Press twice to exit!", Toast.LENGTH_SHORT).show();
    }

    back_pressed = System.currentTimeMillis();
}
Run Code Online (Sandbox Code Playgroud)

android android-activity android-os-handler

4
推荐指数
1
解决办法
1万
查看次数

如何在Android中查找当月的星期六和星期日?

我正在尝试禁用日历中的星期六和星期日。首先,我必须找到它。我尝试过,但无法获取。我在这里发布了代码。

 public int countWeekendDays() {
    Calendar calendar = Calendar.getInstance();

    calendar.set(Calendar.DAY_OF_WEEK, Calendar.DATE+1);
    int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

    int count = 0;
    for (int day = 1; day <= daysInMonth; day++) {
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.DATE+1, day);
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        if (dayOfWeek == Calendar.SUNDAY || dayOfWeek == Calendar.SATURDAY) {
            if(dayOfWeek==Calendar.SUNDAY)
                calendar.add(Calendar.DATE, Calendar.SUNDAY-1);
            else if(dayOfWeek==Calendar.SATURDAY)
                calendar.add(Calendar.DATE, Calendar.SATURDAY);

            disable.add(calendar.getTime());
        }

    }
    for(int i=0;i<disable.size();i++)
    {
        Log.e("***&***",disable.get(i).toString());
    }
    return count;
}
Run Code Online (Sandbox Code Playgroud)

我需要获取当前月的星期六和星期日(说:Aug),但是我得到的结果是前一个月,即7月。

java datetime android-calendar

2
推荐指数
1
解决办法
1867
查看次数

C语言中如何判断给定的数组是否按降序排序

我需要找出给定的数组是否按降序排序...
我得到了输出,但在门户中它显示为错误答案。

这是我的代码。

#include<stdio.h>
int main()
{
   int n,a[15],i,k=0;
   scanf("%d",&n);
   for(i=1;i<=n;i++)
   { scanf("%d",&a[i]);}
   for(i=1;i<=n;i++)
   {
      if(a[i]<a[i+1])
         k++;
   }
   if(k==0)
      printf("yes");
   else
       printf("no");
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

帮我想想办法...

c arrays sorting

1
推荐指数
1
解决办法
2万
查看次数