Index: chrome/browser/printing/print_job.cc |
diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc |
index 294fcb19718fc58e4529478a7b94bd0eca9f45e0..adc06e4936e9cc2d066e62992391846105d50bf4 100644 |
--- a/chrome/browser/printing/print_job.cc |
+++ b/chrome/browser/printing/print_job.cc |
@@ -285,12 +285,11 @@ void PrintJob::StartPdfToEmfConversion( |
PdfConverter::CreatePdfToEmfConverter()); |
const int kPrinterDpi = settings().dpi(); |
PdfRenderSettings settings( |
- content_area, kPrinterDpi, /*autorotate=*/true, |
+ content_area, gfx::Point(0,0), kPrinterDpi, /*autorotate=*/true, |
print_text_with_gdi ? PdfRenderSettings::Mode::GDI_TEXT |
: PdfRenderSettings::Mode::NORMAL); |
pdf_conversion_state_->Start( |
- bytes, settings, |
- base::Bind(&PrintJob::OnPdfConversionStarted, this)); |
+ bytes, settings, base::Bind(&PrintJob::OnPdfConversionStarted, this)); |
} |
void PrintJob::OnPdfConversionStarted(int page_count) { |
@@ -323,6 +322,23 @@ void PrintJob::OnPdfPageConverted(int page_number, |
pdf_conversion_state_->GetMorePages( |
base::Bind(&PrintJob::OnPdfPageConverted, this)); |
} |
+ |
+void PrintJob::StartPdfToPostScriptConversion( |
+ const scoped_refptr<base::RefCountedMemory>& bytes, |
+ const gfx::Rect& content_area, |
+ const gfx::Point& physical_offsets, |
+ bool ps_level2) { |
+ DCHECK(!pdf_conversion_state_); |
+ pdf_conversion_state_ = base::MakeUnique<PdfConversionState>( |
+ gfx::Size(), gfx::Rect(), PdfConverter::CreatePdfToPostScriptConverter()); |
+ const int kPrinterDpi = settings().dpi(); |
+ PdfRenderSettings settings( |
+ content_area, physical_offsets, kPrinterDpi, true /* autorotate? */, |
+ ps_level2 ? PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2 |
+ : PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3); |
+ pdf_conversion_state_->Start( |
+ bytes, settings, base::Bind(&PrintJob::OnPdfConversionStarted, this)); |
+} |
#endif // defined(OS_WIN) |
void PrintJob::UpdatePrintedDocument(PrintedDocument* new_document) { |