  #if defined(OS_WIN)
  // |pdf_buffer| is the buffer that contains the entire PDF document to be
  //     rendered.
-@@ -108,6 +125,8 @@ bool RenderPDFPageToBitmap(const void* pdf_buffer,
+@@ -108,6 +116,8 @@ bool RenderPDFPageToBitmap(const void* pdf_buffer,
                             int dpi,
                             bool autorotate);
  

+extern "C" {
+
 #if defined(OS_WIN)
-bool RenderPDFPageToDC(const void* pdf_buffer,
-                                 int buffer_size,
-                                 int page_number,
-                                 HDC dc,
-                                 int dpi,
-                                 int bounds_origin_x,
-                                 int bounds_origin_y,
-                                 int bounds_width,
-                                 int bounds_height,
-                                 bool fit_to_bounds,
-                                 bool stretch_to_bounds,
-                                 bool keep_aspect_ratio,
-                                 bool center_in_bounds,
-                                 bool autorotate) {
+PDF_EXPORT bool RenderPDFPageToDC(const void* pdf_buffer,
+                                  int buffer_size,
+                                  int page_number,
+                                  HDC dc,
+                                  int dpi,
+                                  int bounds_origin_x,
+                                  int bounds_origin_y,
+                                  int bounds_width,
+                                  int bounds_height,
+                                  bool fit_to_bounds,
+                                  bool stretch_to_bounds,
+                                  bool keep_aspect_ratio,
+                                  bool center_in_bounds,
+                                  bool autorotate) {
   if (!g_sdk_initialized_via_pepper) {
     if (!chrome_pdf::InitializeSDK()) {
       return false;
@@ -118,9 +123,9 @@ bool RenderPDFPageToDC(const void* pdf_buffer,
 
 #endif  // OS_WIN
 
-bool GetPDFDocInfo(const void* pdf_buffer,
-                   int buffer_size, int* page_count,
-                   double* max_page_width) {
+PDF_EXPORT bool GetPDFDocInfo(const void* pdf_buffer,
+                              int buffer_size, int* page_count,
+                              double* max_page_width) {
   if (!g_sdk_initialized_via_pepper) {
     if (!chrome_pdf::InitializeSDK())
       return false;
@@ -176,4 +181,4 @@ bool RenderPDFPageToBitmap(const void* pdf_buffer,
   return ret;
 }
 
-}  // namespace chrome_pdf
+}
diff --git a/pdf/pdf.gyp b/pdf/pdf.gyp
index f47e33a..6e0a12d 100644
--- a/pdf/pdf.gyp
+++ b/pdf/pdf.gyp
@@ -6,7 +6,7 @@

diff --git a/pdf/pdf.cc b/pdf/pdf.cc
index 7aba412..f57902a 100644
--- a/pdf/pdf.cc
+++ b/pdf/pdf.cc
@@ -81,7 +81,13 @@ const void* PPP_GetInterface(const char* interface_name) {
   return pp::Module::Get()->GetPluginInterface(interface_name);
 }
 
