Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5768)

Unified Diff: chrome/browser/printing/print_job.cc

Issue 2633573002: Add Postscript Printing (Closed)
Patch Set: Fix clang compile Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698