Chromium Code Reviews| Index: pdf/pdf.cc |
| diff --git a/pdf/pdf.cc b/pdf/pdf.cc |
| index a4997a582dc35c4ad6dd763ab17dc39e86f05dc5..6a4507f4fc35e40bb50ce1c430ecef84006da8fa 100644 |
| --- a/pdf/pdf.cc |
| +++ b/pdf/pdf.cc |
| @@ -114,25 +114,26 @@ extern "C" { |
| #if defined(OS_WIN) |
| // |pdf_buffer| is the buffer that contains the entire PDF document to be |
| // rendered. |
| -// |buffer_size| is the size of pdf_buffer in bytes. |
| +// |buffer_size| is the size of |pdf_buffer| in bytes. |
| // |page_number| is the 0-based index of the page to be rendered. |
| // |dc| is the device context to render into. |
| -// |dpi_x| and |dpi_y| are the x and y resolutions respectively. If either value |
| -// is -1, the dpi from the DC will be used. |
| +// |dpi_x| and |dpi_y| are the x and y resolutions respectively. If either |
| +// value is -1, the dpi from the DC will be used. |
|
Dan Beam
2014/07/10 02:19:58
revert
|
| // |bounds_origin_x|, |bounds_origin_y|, |bounds_width| and |bounds_height| |
| -// specify a bounds rectangle within the DC in which to render the PDF page. |
| +// specify a bounds rectangle within the DC in which to render the PDF |
| +// page. |
|
Dan Beam
2014/07/10 02:19:58
revert
|
| // |fit_to_bounds| specifies whether the output should be shrunk to fit the |
| // supplied bounds if the page size is larger than the bounds in any |
| -// dimension. If this is false, parts of the PDF page that lie outside the |
| -// bounds will be clipped. |
| +// dimension. If this is false, parts of the PDF page that lie outside |
| +// the bounds will be clipped. |
|
Dan Beam
2014/07/10 02:19:58
revert
|
| // |stretch_to_bounds| specifies whether the output should be stretched to fit |
| // the supplied bounds if the page size is smaller than the bounds in any |
| // dimension. |
| // If both |fit_to_bounds| and |stretch_to_bounds| are true, then |
| // |fit_to_bounds| is honored first. |
| -// |keep_aspect_ratio| If any scaling is to be done is true, this flag specifies |
| -// whether the original aspect ratio of the page should be preserved while |
| -// scaling. |
| +// |keep_aspect_ratio| If any scaling is to be done is true, this flag |
| +// specifies whether the original aspect ratio of the page should be |
| +// preserved while scaling. |
|
Dan Beam
2014/07/10 02:19:58
revert
|
| // |center_in_bounds| specifies whether the final image (after any scaling is |
| // done) should be centered within the given bounds. |
| // |autorotate| specifies whether the final image should be rotated to match |
| @@ -199,10 +200,40 @@ bool GetPDFDocInfo(const void* pdf_buffer, |
| return ret; |
| } |
| +// Gets the dimensions of a specific page in a document. |
| +// |pdf_buffer| is the buffer that contains the entire PDF document to be |
| +// rendered. |
| +// |pdf_buffer_size| is the size of |pdf_buffer| in bytes. |
| +// |page_number| is the page number that the function will get the dimensions |
| +// of. |
| +// |width| is the output for the width of the page in points. |
| +// |height| is the output for the height of the page in points. |
| +// Returns false if the document or the page number are not valid. |
|
Dan Beam
2014/07/10 02:19:59
this is also a local pattern (i've never seen), wh
|
| +PDF_USED PP_EXPORT |
| +bool GetPDFPageSizeByIndex(const void* pdf_buffer, |
| + int pdf_buffer_size, int page_number, |
| + double* width, double* height) { |
| + if (!g_sdk_initialized_via_pepper) { |
| + void* data = NULL; |
| +#if defined(OS_WIN) |
| + data = g_hmodule; |
| +#endif |
| + if (!chrome_pdf::InitializeSDK(data)) |
| + return false; |
| + } |
| + scoped_ptr<chrome_pdf::PDFEngineExports> engine_exports( |
| + chrome_pdf::PDFEngineExports::Create()); |
| + bool ret = engine_exports->GetPDFPageSizeByIndex( |
| + pdf_buffer, pdf_buffer_size, page_number, width, height); |
| + if (!g_sdk_initialized_via_pepper) |
| + chrome_pdf::ShutdownSDK(); |
| + return ret; |
| +} |
| + |
| // Renders PDF page into 4-byte per pixel BGRA color bitmap. |
| // |pdf_buffer| is the buffer that contains the entire PDF document to be |
| // rendered. |
| -// |pdf_buffer_size| is the size of pdf_buffer in bytes. |
| +// |pdf_buffer_size| is the size of |pdf_buffer| in bytes. |
| // |page_number| is the 0-based index of the page to be rendered. |
| // |bitmap_buffer| is the output buffer for bitmap. |
| // |bitmap_width| is the width of the output bitmap. |