OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/utility/printing_handler.h" | 5 #include "chrome/utility/printing_handler.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
84 return handled; | 84 return handled; |
85 } | 85 } |
86 | 86 |
87 #if defined(OS_WIN) | 87 #if defined(OS_WIN) |
88 void PrintingHandler::OnRenderPDFPagesToMetafile( | 88 void PrintingHandler::OnRenderPDFPagesToMetafile( |
89 IPC::PlatformFileForTransit pdf_transit, | 89 IPC::PlatformFileForTransit pdf_transit, |
90 const PdfRenderSettings& settings) { | 90 const PdfRenderSettings& settings) { |
91 pdf_rendering_settings_ = settings; | 91 pdf_rendering_settings_ = settings; |
92 chrome_pdf::SetPDFUseGDIPrinting(pdf_rendering_settings_.mode == | 92 chrome_pdf::SetPDFUseGDIPrinting(pdf_rendering_settings_.mode == |
93 PdfRenderSettings::Mode::GDI_TEXT); | 93 PdfRenderSettings::Mode::GDI_TEXT); |
94 chrome_pdf::SetPDFUseTextOnlyPrinting(pdf_rendering_settings_.mode == | |
95 PdfRenderSettings::Mode::TEXTONLY); | |
94 int postscript_level; | 96 int postscript_level; |
95 switch (pdf_rendering_settings_.mode) { | 97 switch (pdf_rendering_settings_.mode) { |
96 case PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2: | 98 case PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2: |
97 postscript_level = 2; | 99 postscript_level = 2; |
98 break; | 100 break; |
99 case PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3: | 101 case PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3: |
100 postscript_level = 3; | 102 postscript_level = 3; |
101 break; | 103 break; |
102 default: | 104 default: |
103 postscript_level = 0; // Not using postscript. | 105 postscript_level = 0; // Not using postscript. |
104 } | 106 } |
105 chrome_pdf::SetPDFPostscriptPrintingLevel(postscript_level); | 107 chrome_pdf::SetPDFPostscriptPrintingLevel(postscript_level); |
106 | 108 |
107 base::File pdf_file = IPC::PlatformFileForTransitToFile(pdf_transit); | 109 base::File pdf_file = IPC::PlatformFileForTransitToFile(pdf_transit); |
108 int page_count = LoadPDF(std::move(pdf_file)); | 110 int page_count = LoadPDF(std::move(pdf_file)); |
109 Send( | 111 Send( |
110 new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageCount(page_count)); | 112 new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageCount(page_count)); |
111 } | 113 } |
112 | 114 |
113 void PrintingHandler::OnRenderPDFPagesToMetafileGetPage( | 115 void PrintingHandler::OnRenderPDFPagesToMetafileGetPage( |
114 int page_number, | 116 int page_number, |
115 IPC::PlatformFileForTransit output_file) { | 117 IPC::PlatformFileForTransit output_file) { |
116 base::File emf_file = IPC::PlatformFileForTransitToFile(output_file); | 118 base::File emf_file = IPC::PlatformFileForTransitToFile(output_file); |
117 float scale_factor = 1.0f; | 119 float scale_factor = 1.0f; |
118 bool postscript = pdf_rendering_settings_.mode == | 120 bool postscript = |
119 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2 || | 121 pdf_rendering_settings_.mode == |
120 pdf_rendering_settings_.mode == | 122 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2 || |
121 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3; | 123 pdf_rendering_settings_.mode == |
124 PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3 || | |
125 pdf_rendering_settings_.mode == PdfRenderSettings::Mode::TEXTONLY; | |
Lei Zhang
2017/07/05 23:27:08
TEXTONLY is postscript?
rbpotter
2017/07/06 01:31:17
Did this initially to avoid scaling the DC, but th
| |
122 bool success = RenderPdfPageToMetafile(page_number, std::move(emf_file), | 126 bool success = RenderPdfPageToMetafile(page_number, std::move(emf_file), |
123 &scale_factor, postscript); | 127 &scale_factor, postscript); |
124 Send(new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageDone( | 128 Send(new ChromeUtilityHostMsg_RenderPDFPagesToMetafiles_PageDone( |
125 success, scale_factor)); | 129 success, scale_factor)); |
126 } | 130 } |
127 | 131 |
128 void PrintingHandler::OnRenderPDFPagesToMetafileStop() { | 132 void PrintingHandler::OnRenderPDFPagesToMetafileStop() { |
129 ReleaseProcessIfNeeded(); | 133 ReleaseProcessIfNeeded(); |
130 } | 134 } |
131 | 135 |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
335 printer_name, printer_info)); | 339 printer_name, printer_info)); |
336 } else { | 340 } else { |
337 Send(new ChromeUtilityHostMsg_GetPrinterSemanticCapsAndDefaults_Failed( | 341 Send(new ChromeUtilityHostMsg_GetPrinterSemanticCapsAndDefaults_Failed( |
338 printer_name)); | 342 printer_name)); |
339 } | 343 } |
340 ReleaseProcessIfNeeded(); | 344 ReleaseProcessIfNeeded(); |
341 } | 345 } |
342 #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW) | 346 #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW) |
343 | 347 |
344 } // namespace printing | 348 } // namespace printing |
OLD | NEW |