| Index: fpdfsdk/fpdfview.cpp
|
| diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
|
| index c292384e88ba5f42ae4e7ca4c1827da5a46089bd..ff4d46e357705e22dbd522d04cd918bb078b36a3 100644
|
| --- a/fpdfsdk/fpdfview.cpp
|
| +++ b/fpdfsdk/fpdfview.cpp
|
| @@ -429,7 +429,8 @@ DLLEXPORT void STDCALL FPDF_SetSandBoxPolicy(FPDF_DWORD policy,
|
| return FSDK_SetSandBoxPolicy(policy, enable);
|
| }
|
|
|
| -#if defined(_WIN32) && defined(PDFIUM_PRINT_TEXT_WITH_GDI)
|
| +#if defined(_WIN32)
|
| +#if defined(PDFIUM_PRINT_TEXT_WITH_GDI)
|
| DLLEXPORT void STDCALL
|
| FPDF_SetTypefaceAccessibleFunc(PDFiumEnsureTypefaceCharactersAccessible func) {
|
| g_pdfium_typeface_accessible_func = func;
|
| @@ -438,7 +439,15 @@ FPDF_SetTypefaceAccessibleFunc(PDFiumEnsureTypefaceCharactersAccessible func) {
|
| DLLEXPORT void STDCALL FPDF_SetPrintTextWithGDI(FPDF_BOOL use_gdi) {
|
| g_pdfium_print_text_with_gdi = !!use_gdi;
|
| }
|
| -#endif
|
| +#endif // PDFIUM_PRINT_TEXT_WITH_GDI
|
| +
|
| +DLLEXPORT FPDF_BOOL STDCALL FPDF_SetPrintPostscriptLevel(int postscript_level) {
|
| + if (postscript_level != 0 && postscript_level != 2 && postscript_level != 3)
|
| + return FALSE;
|
| + g_pdfium_print_postscript_level = postscript_level;
|
| + return TRUE;
|
| +}
|
| +#endif // defined(_WIN32)
|
|
|
| DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_LoadDocument(FPDF_STRING file_path,
|
| FPDF_BYTESTRING password) {
|
| @@ -656,6 +665,9 @@ DLLEXPORT void STDCALL FPDF_RenderPage(HDC dc,
|
| pPage->SetRenderContext(pdfium::WrapUnique(pContext));
|
|
|
| std::unique_ptr<CFX_DIBitmap> pBitmap;
|
| + // TODO: This results in unnecessary rasterization of some PDFs due to
|
| + // HasImageMask() returning true. If any image on the page is a mask, the
|
| + // entire page gets rasterized and the spool size gets huge.
|
| const bool bNewBitmap =
|
| pPage->BackgroundAlphaNeeded() || pPage->HasImageMask();
|
| if (bNewBitmap) {
|
|
|