| OLD | NEW | 
|    1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2010 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 <limits.h> |    5 #include <limits.h> | 
|    6 #include <stdio.h> |    6 #include <stdio.h> | 
|    7 #include <stdlib.h> |    7 #include <stdlib.h> | 
|    8 #include <string.h> |    8 #include <string.h> | 
|    9 #include <wchar.h> |    9 #include <wchar.h> | 
|   10  |   10  | 
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  411  |  411  | 
|  412 bool Is_Data_Avail(FX_FILEAVAIL* pThis, size_t offset, size_t size) { |  412 bool Is_Data_Avail(FX_FILEAVAIL* pThis, size_t offset, size_t size) { | 
|  413   return true; |  413   return true; | 
|  414 } |  414 } | 
|  415  |  415  | 
|  416 void Add_Segment(FX_DOWNLOADHINTS* pThis, size_t offset, size_t size) { |  416 void Add_Segment(FX_DOWNLOADHINTS* pThis, size_t offset, size_t size) { | 
|  417 } |  417 } | 
|  418  |  418  | 
|  419 void RenderPdf(const std::string& name, const char* pBuf, size_t len, |  419 void RenderPdf(const std::string& name, const char* pBuf, size_t len, | 
|  420                const Options& options) { |  420                const Options& options) { | 
|  421   printf("Rendering PDF file %s.\n", name.c_str()); |  421   fprintf(stderr, "Rendering PDF file %s.\n", name.c_str()); | 
|  422  |  422  | 
|  423   IPDF_JSPLATFORM platform_callbacks; |  423   IPDF_JSPLATFORM platform_callbacks; | 
|  424   memset(&platform_callbacks, '\0', sizeof(platform_callbacks)); |  424   memset(&platform_callbacks, '\0', sizeof(platform_callbacks)); | 
|  425   platform_callbacks.version = 1; |  425   platform_callbacks.version = 1; | 
|  426   platform_callbacks.app_alert = Form_Alert; |  426   platform_callbacks.app_alert = Form_Alert; | 
|  427  |  427  | 
|  428   FPDF_FORMFILLINFO form_callbacks; |  428   FPDF_FORMFILLINFO form_callbacks; | 
|  429   memset(&form_callbacks, '\0', sizeof(form_callbacks)); |  429   memset(&form_callbacks, '\0', sizeof(form_callbacks)); | 
|  430   form_callbacks.version = 2; |  430   form_callbacks.version = 2; | 
|  431   form_callbacks.m_pJsPlatform = &platform_callbacks; |  431   form_callbacks.m_pJsPlatform = &platform_callbacks; | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
|  447   memset(&hints, '\0', sizeof(hints)); |  447   memset(&hints, '\0', sizeof(hints)); | 
|  448   hints.version = 1; |  448   hints.version = 1; | 
|  449   hints.AddSegment = Add_Segment; |  449   hints.AddSegment = Add_Segment; | 
|  450  |  450  | 
|  451   FPDF_DOCUMENT doc; |  451   FPDF_DOCUMENT doc; | 
|  452   FPDF_AVAIL pdf_avail = FPDFAvail_Create(&file_avail, &file_access); |  452   FPDF_AVAIL pdf_avail = FPDFAvail_Create(&file_avail, &file_access); | 
|  453  |  453  | 
|  454   (void) FPDFAvail_IsDocAvail(pdf_avail, &hints); |  454   (void) FPDFAvail_IsDocAvail(pdf_avail, &hints); | 
|  455  |  455  | 
|  456   if (!FPDFAvail_IsLinearized(pdf_avail)) { |  456   if (!FPDFAvail_IsLinearized(pdf_avail)) { | 
|  457     printf("Non-linearized path...\n"); |  457     fprintf(stderr, "Non-linearized path...\n"); | 
|  458     doc = FPDF_LoadCustomDocument(&file_access, NULL); |  458     doc = FPDF_LoadCustomDocument(&file_access, NULL); | 
|  459   } else { |  459   } else { | 
|  460     printf("Linearized path...\n"); |  460     fprintf(stderr, "Linearized path...\n"); | 
|  461     doc = FPDFAvail_GetDocument(pdf_avail, NULL); |  461     doc = FPDFAvail_GetDocument(pdf_avail, NULL); | 
|  462   } |  462   } | 
|  463  |  463  | 
|  464   (void) FPDF_GetDocPermissions(doc); |  464   (void) FPDF_GetDocPermissions(doc); | 
|  465   (void) FPDFAvail_IsFormAvail(pdf_avail, &hints); |  465   (void) FPDFAvail_IsFormAvail(pdf_avail, &hints); | 
|  466  |  466  | 
|  467   FPDF_FORMHANDLE form = FPDFDOC_InitFormFillEnvironment(doc, &form_callbacks); |  467   FPDF_FORMHANDLE form = FPDFDOC_InitFormFillEnvironment(doc, &form_callbacks); | 
|  468   if (!FPDF_LoadXFA(doc)) { |  468   if (!FPDF_LoadXFA(doc)) { | 
|  469     printf("LoadXFA unsuccessful, continuing anyway.\n"); |  469     printf("LoadXFA unsuccessful, continuing anyway.\n"); | 
|  470   } |  470   } | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  541     FORM_OnBeforeClosePage(page, form); |  541     FORM_OnBeforeClosePage(page, form); | 
|  542     FPDFText_ClosePage(text_page); |  542     FPDFText_ClosePage(text_page); | 
|  543     FPDF_ClosePage(page); |  543     FPDF_ClosePage(page); | 
|  544   } |  544   } | 
|  545  |  545  | 
|  546   FORM_DoDocumentAAction(form, FPDFDOC_AACTION_WC); |  546   FORM_DoDocumentAAction(form, FPDFDOC_AACTION_WC); | 
|  547   FPDF_CloseDocument(doc); |  547   FPDF_CloseDocument(doc); | 
|  548   FPDFDOC_ExitFormFillEnvironment(form); |  548   FPDFDOC_ExitFormFillEnvironment(form); | 
|  549   FPDFAvail_Destroy(pdf_avail); |  549   FPDFAvail_Destroy(pdf_avail); | 
|  550  |  550  | 
|  551   printf("Loaded, parsed and rendered %" PRIuS " pages.\n", rendered_pages); |  551   fprintf(stderr, "Rendered %" PRIuS " pages.\n", rendered_pages); | 
|  552   printf("Skipped %" PRIuS " bad pages.\n", bad_pages); |  552   fprintf(stderr, "Skipped %" PRIuS " bad pages.\n", bad_pages); | 
|  553 } |  553 } | 
|  554  |  554  | 
 |  555 static const char usage_string[] = | 
 |  556     "Usage: pdfium_test [OPTION] [FILE]...\n" | 
 |  557     "  --bin-dir=<path> - override path to v8 external data\n" | 
 |  558     "  --scale=<number> - scale output size by number (e.g. 0.5)\n" | 
 |  559 #ifdef _WIN32 | 
 |  560     "  --bmp - write page images <pdf-name>.<page-number>.bmp\n" | 
 |  561     "  --emf - write page meta files <pdf-name>.<page-number>.emf\n" | 
 |  562 #endif | 
 |  563     "  --png - write page images <pdf-name>.<page-number>.png\n" | 
 |  564     "  --ppm - write page images <pdf-name>.<page-number>.ppm\n"; | 
 |  565  | 
|  555 int main(int argc, const char* argv[]) { |  566 int main(int argc, const char* argv[]) { | 
|  556   std::vector<std::string> args(argv, argv + argc); |  567   std::vector<std::string> args(argv, argv + argc); | 
|  557   Options options; |  568   Options options; | 
|  558   std::list<std::string> files; |  569   std::list<std::string> files; | 
|  559   if (!ParseCommandLine(args, &options, &files)) { |  570   if (!ParseCommandLine(args, &options, &files)) { | 
|  560     printf("Usage: pdfium_test [OPTION] [FILE]...\n"); |  571     fprintf(stderr, "%s", usage_string); | 
|  561     printf("--bin-dir=<path> - override path to v8 external data\n"); |  | 
|  562     printf("--scale=<number> - scale output size by number (e.g. 0.5)\n"); |  | 
|  563     printf("--png - write page images <pdf-name>.<page-number>.png\n"); |  | 
|  564     printf("--ppm - write page images <pdf-name>.<page-number>.ppm\n"); |  | 
|  565 #ifdef _WIN32 |  | 
|  566     printf("--bmp - write page images <pdf-name>.<page-number>.bmp\n"); |  | 
|  567     printf("--emf - write page meta files <pdf-name>.<page-number>.emf\n"); |  | 
|  568 #endif |  | 
|  569     return 1; |  572     return 1; | 
|  570   } |  573   } | 
|  571  |  574  | 
|  572   v8::V8::InitializeICU(); |  575   v8::V8::InitializeICU(); | 
|  573  |  576  | 
|  574 #ifdef V8_USE_EXTERNAL_STARTUP_DATA |  577 #ifdef V8_USE_EXTERNAL_STARTUP_DATA | 
|  575   v8::StartupData natives; |  578   v8::StartupData natives; | 
|  576   v8::StartupData snapshot; |  579   v8::StartupData snapshot; | 
|  577   if (!GetExternalData(options, "natives_blob.bin", &natives) || |  580   if (!GetExternalData(options, "natives_blob.bin", &natives) || | 
|  578       !GetExternalData(options, "snapshot_blob.bin", &snapshot)) { |  581       !GetExternalData(options, "snapshot_blob.bin", &snapshot)) { | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
|  599     if (!file_contents) |  602     if (!file_contents) | 
|  600       continue; |  603       continue; | 
|  601     RenderPdf(filename, file_contents, file_length, options); |  604     RenderPdf(filename, file_contents, file_length, options); | 
|  602     free(file_contents); |  605     free(file_contents); | 
|  603   } |  606   } | 
|  604  |  607  | 
|  605   FPDF_DestroyLibrary(); |  608   FPDF_DestroyLibrary(); | 
|  606  |  609  | 
|  607   return 0; |  610   return 0; | 
|  608 } |  611 } | 
| OLD | NEW |