Skip to content

Commit 0fcf16d

Browse files
Merge pull request #2182 from CatimaLoyalty/fix/transparentPdf
Fix parsing PDF with transparent background
2 parents 23d27ab + 389372e commit 0fcf16d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

app/src/main/java/protect/card_locker/Utils.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.content.res.TypedArray;
1010
import android.graphics.Bitmap;
1111
import android.graphics.BitmapFactory;
12+
import android.graphics.Canvas;
1213
import android.graphics.Color;
1314
import android.graphics.ImageDecoder;
1415
import android.graphics.Matrix;
@@ -194,6 +195,13 @@ static public List<BarcodeValues> retrieveBarcodesFromPdf(Context context, Uri u
194195
for (int i = 0; i < renderer.getPageCount(); i++) {
195196
PdfRenderer.Page page = renderer.openPage(i);
196197
renderedPage = Bitmap.createBitmap(page.getWidth(), page.getHeight(), Bitmap.Config.ARGB_8888);
198+
199+
// Ensure the page has a background
200+
// Fixes some transparent PDF files not being read well
201+
Canvas canvas = new Canvas(renderedPage);
202+
canvas.drawColor(Color.WHITE);
203+
canvas.drawBitmap(renderedPage, 0, 0, null);
204+
197205
page.render(renderedPage, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
198206
page.close();
199207

0 commit comments

Comments
 (0)