| Index: pdf/pdf.cc
|
| diff --git a/pdf/pdf.cc b/pdf/pdf.cc
|
| index a4997a582dc35c4ad6dd763ab17dc39e86f05dc5..906a217d4ce0a4b7acbad3ee90140568ea83a30c 100644
|
| --- a/pdf/pdf.cc
|
| +++ b/pdf/pdf.cc
|
| @@ -112,32 +112,6 @@ extern "C" {
|
| // Wrapper exports over the PDF engine that can be used by an external module
|
| // such as Chrome (since Chrome cannot directly pull in PDFium sources).
|
| #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.
|
| -// |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.
|
| -// |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.
|
| -// |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.
|
| -// |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.
|
| -// |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
|
| -// the output bound.
|
| -// Returns false if the document or the page number are not valid.
|
| PP_EXPORT bool RenderPDFPageToDC(const void* pdf_buffer,
|
| int buffer_size,
|
| int page_number,
|
| @@ -175,8 +149,6 @@ PP_EXPORT bool RenderPDFPageToDC(const void* pdf_buffer,
|
|
|
| #endif // OS_WIN
|
|
|
| -// |page_count| and |max_page_width| are optional and can be NULL.
|
| -// Returns false if the document is not valid.
|
| PDF_USED PP_EXPORT
|
| bool GetPDFDocInfo(const void* pdf_buffer,
|
| int buffer_size, int* page_count,
|
| @@ -199,18 +171,27 @@ bool GetPDFDocInfo(const void* pdf_buffer,
|
| 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.
|
| -// |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.
|
| -// |bitmap_height| is the height of the output bitmap.
|
| -// |dpi| is the resolutions.
|
| -// |autorotate| specifies whether the final image should be rotated to match
|
| -// the output bound.
|
| -// Returns false if the document or the page number are not valid.
|
| +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;
|
| +}
|
| +
|
| PDF_USED PP_EXPORT
|
| bool RenderPDFPageToBitmap(const void* pdf_buffer,
|
| int pdf_buffer_size,
|
|
|