From 61327fe3c46b73141b4c885a98e97cd5d1412aba Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 22 Sep 2015 08:50:20 -0700 Subject: [Docs] Add wiki content to Markdown docs BUG=none R=tsepez@chromium.org, jam@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/1356323002 . --- docs/OWNERS | 1 + docs/build.md | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++ docs/documentation.md | 10 +++++++ 3 files changed, 93 insertions(+) create mode 100644 docs/OWNERS create mode 100644 docs/build.md create mode 100644 docs/documentation.md diff --git a/docs/OWNERS b/docs/OWNERS new file mode 100644 index 0000000000..72e8ffc0db --- /dev/null +++ b/docs/OWNERS @@ -0,0 +1 @@ +* diff --git a/docs/build.md b/docs/build.md new file mode 100644 index 0000000000..4e6b16c0da --- /dev/null +++ b/docs/build.md @@ -0,0 +1,82 @@ +# Building PDFium + +## Prerequisites + +Get the chromium depot tools via the instructions at +http://www.chromium.org/developers/how-tos/install-depot-tools (this provides +the gclient utilty needed below). + +Also install Python, Subversion, and Git and make sure they're in your path. + +Optionally, you may want to install the [Ninja](http://martine.github.io/ninja/) +build system (recommended) rather than using your platform-specific build +system. + +## Get the code + +``` +mkdir pdfium +cd pdfium +gclient config --name . --unmanaged https://pdfium.googlesource.com/pdfium.git +gclient sync +``` + +## Generate the build files + +Now we use the GYP library to generate the build files. + +At this point, you have two options. The first option is to use the [Ninja] +(http://martine.github.io/ninja/) build system. This is the default as of +mid-September, 2015. Previously, the second option was the default. Most PDFium +developers use Ninja, as does our [continuous build system] +(http://build.chromium.org/p/client.pdfium/). + +On Windows: `build\gyp_pdfium +` For all other platforms: `build/gyp_pdfium +` + +The second option is to generate platform-specific build files, i.e. Makefiles +on Linux, sln files on Windows, and xcodeproj files on Mac. To do so, set the +GYP\_GENERATORS environment variable appropriately (e.g. "make", "msvs", or +"xcode") before running the above command. + +## Building the code + +If you used Ninja, you can build the sample program by: `ninja -C out/Debug +pdfium_test +` You can build the entire product (which includes a few unit tests) by: `ninja +-C out/Debug +` + +If you're not using Ninja, then building is platform-specific. + +On Linux: `make pdfium_test +` + +On Mac, open build/all.xcodeproj + +On Windows, open build\all.sln + +## Running the sample program + +The pdfium\_test program supports reading, parsing, and rasterizing the pages of +a .pdf file to .ppm output image files (windows supports two other formats, and +.png support is available for all platforms in an alternate branch (see branches +section below)). For example: `out/Debug/pdfium_test --ppm path/to/myfile.pdf +` + +## Waterfall + +The current health of the source tree can be found at +http://build.chromium.org/p/client.pdfium/console + +## Branches + +There is a branch for a forthcoming feature called XFA that you can get by +following the steps above, then: `git checkout origin/xfa build/gyp_pdfium ninja +-C out/Debug +` + +The XFA version of the sample pdfium\_test program supports rasterizing to .png +format files. For example: `out/Debug/pdfium_test --png path/to/myfile.pdf +` diff --git a/docs/documentation.md b/docs/documentation.md new file mode 100644 index 0000000000..8efc46ce43 --- /dev/null +++ b/docs/documentation.md @@ -0,0 +1,10 @@ +# Introduction + +For API documentation, see +http://cdn01.foxitsoftware.com/pub/foxit/manual/enu/FoxitPDF_SDK20_Guide.pdf + +You can search the source code through +https://code.google.com/p/chromium/codesearch#search/&q=file:third_party/pdfium&sq=package:chromium&type=cs + +A sample consumer of this library is Chromium's PDF plugin. You can see the +source for it at http://src.chromium.org/viewvc/chrome/trunk/src/pdf/ -- cgit v1.2.3