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

Unified Diff: pdf/pdf.cc

Issue 376083002: Export a function from the PDF plugin to get the dimensions of a PDF page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed typo in comments. Moved all the comments over to pdf_engine.h. Created 6 years, 5 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
« no previous file with comments | « no previous file | pdf/pdf_engine.h » ('j') | pdf/pdf_engine.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « no previous file | pdf/pdf_engine.h » ('j') | pdf/pdf_engine.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698