| Index: pdf/pdfium/pdfium_engine.cc
|
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
|
| index afc8b71633bcd2bbab24880da6b033316bfe63a9..28e80d07ef888662aa6eff8681f948d0b3282407 100644
|
| --- a/pdf/pdfium/pdfium_engine.cc
|
| +++ b/pdf/pdfium/pdfium_engine.cc
|
| @@ -1416,17 +1416,20 @@ FPDF_DOCUMENT PDFiumEngine::CreateSinglePageRasterPdf(
|
| // page.
|
| FPDF_PAGEOBJECT temp_img = FPDFPageObj_NewImageObj(temp_doc);
|
|
|
| + bool encoded = false;
|
| std::vector<uint8_t> compressed_bitmap_data;
|
| - // Use quality = 40 as this does not significantly degrade the printed
|
| - // document relative to a normal bitmap and provides better compression than
|
| - // a higher quality setting.
|
| - const int quality = 40;
|
| - SkImageInfo info = SkImageInfo::Make(
|
| - FPDFBitmap_GetWidth(bitmap), FPDFBitmap_GetHeight(bitmap),
|
| - kBGRA_8888_SkColorType, kOpaque_SkAlphaType);
|
| - SkPixmap src(info, bitmap_data, FPDFBitmap_GetStride(bitmap));
|
| - if (!(print_settings.format & PP_PRINTOUTPUTFORMAT_PDF) &&
|
| - (gfx::JPEGCodec::Encode(src, quality, &compressed_bitmap_data))) {
|
| + if (!(print_settings.format & PP_PRINTOUTPUTFORMAT_PDF)) {
|
| + // Use quality = 40 as this does not significantly degrade the printed
|
| + // document relative to a normal bitmap and provides better compression than
|
| + // a higher quality setting.
|
| + const int kQuality = 40;
|
| + SkImageInfo info = SkImageInfo::Make(
|
| + FPDFBitmap_GetWidth(bitmap), FPDFBitmap_GetHeight(bitmap),
|
| + kBGRA_8888_SkColorType, kOpaque_SkAlphaType);
|
| + SkPixmap src(info, bitmap_data, FPDFBitmap_GetStride(bitmap));
|
| + encoded = gfx::JPEGCodec::Encode(src, kQuality, &compressed_bitmap_data);
|
| + }
|
| + if (encoded) {
|
| FPDF_FILEACCESS file_access = {};
|
| file_access.m_FileLen =
|
| static_cast<unsigned long>(compressed_bitmap_data.size());
|
|
|