Index: chrome/browser/printing/print_view_manager_base.cc |
diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc |
index 876465301b0fe07aab00ec1a29258655f5f34b7e..07f618088d173357127f7dfeda33c57440cb1ccd 100644 |
--- a/chrome/browser/printing/print_view_manager_base.cc |
+++ b/chrome/browser/printing/print_view_manager_base.cc |
@@ -41,6 +41,11 @@ |
#include "chrome/browser/printing/print_error_dialog.h" |
#endif |
+#if defined(OS_WIN) |
+#include "base/command_line.h" |
+#include "chrome/common/chrome_switches.h" |
+#endif |
+ |
using base::TimeDelta; |
using content::BrowserThread; |
@@ -185,13 +190,17 @@ void PrintViewManagerBase::OnDidPrintPage( |
#if defined(OS_WIN) |
print_job_->AppendPrintedPage(params.page_number); |
if (metafile_must_be_valid) { |
+ bool print_text_with_gdi = |
+ document->settings().print_text_with_gdi() && |
+ !base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kDisableGDITextPrinting); |
scoped_refptr<base::RefCountedBytes> bytes = new base::RefCountedBytes( |
reinterpret_cast<const unsigned char*>(shared_buf->memory()), |
params.data_size); |
document->DebugDumpData(bytes.get(), FILE_PATH_LITERAL(".pdf")); |
print_job_->StartPdfToEmfConversion( |
- bytes, params.page_size, params.content_area); |
+ bytes, params.page_size, params.content_area, print_text_with_gdi); |
} |
#else |
// Update the rendered document. It will send notifications to the listener. |