| // Copyright 2014 The PDFium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| |
| #ifndef PUBLIC_FPDF_PPO_H_ |
| #define PUBLIC_FPDF_PPO_H_ |
| |
| // NOLINTNEXTLINE(build/include) |
| #include "fpdfview.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| // Experimental API. |
| // Import pages to a FPDF_DOCUMENT. |
| // |
| // dest_doc - The destination document for the pages. |
| // src_doc - The document to be imported. |
| // page_indices - An array of page indices to be imported. The first page is |
| // zero. If |page_indices| is NULL, all pages from |src_doc| |
| // are imported. |
| // length - The length of the |page_indices| array. |
| // index - The page index at which to insert the first imported page |
| // into |dest_doc|. The first page is zero. |
| // |
| // Returns TRUE on success. Returns FALSE if any pages in |page_indices| is |
| // invalid. |
| FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV |
| FPDF_ImportPagesByIndex(FPDF_DOCUMENT dest_doc, |
| FPDF_DOCUMENT src_doc, |
| const int* page_indices, |
| unsigned long length, |
| int index); |
| |
| // Import pages to a FPDF_DOCUMENT. |
| // |
| // dest_doc - The destination document for the pages. |
| // src_doc - The document to be imported. |
| // pagerange - A page range string, Such as "1,3,5-7". The first page is one. |
| // If |pagerange| is NULL, all pages from |src_doc| are imported. |
| // index - The page index at which to insert the first imported page into |
| // |dest_doc|. The first page is zero. |
| // |
| // Returns TRUE on success. Returns FALSE if any pages in |pagerange| is |
| // invalid or if |pagerange| cannot be read. |
| FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_ImportPages(FPDF_DOCUMENT dest_doc, |
| FPDF_DOCUMENT src_doc, |
| FPDF_BYTESTRING pagerange, |
| int index); |
| |
| // Experimental API. |
| // Create a new document from |src_doc|. The pages of |src_doc| will be |
| // combined to provide |num_pages_on_x_axis x num_pages_on_y_axis| pages per |
| // |output_doc| page. |
| // |
| // src_doc - The document to be imported. |
| // output_width - The output page width in PDF "user space" units. |
| // output_height - The output page height in PDF "user space" units. |
| // num_pages_on_x_axis - The number of pages on X Axis. |
| // num_pages_on_y_axis - The number of pages on Y Axis. |
| // |
| // Return value: |
| // A handle to the created document, or NULL on failure. |
| // |
| // Comments: |
| // number of pages per page = num_pages_on_x_axis * num_pages_on_y_axis |
| // |
| FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV |
| FPDF_ImportNPagesToOne(FPDF_DOCUMENT src_doc, |
| float output_width, |
| float output_height, |
| size_t num_pages_on_x_axis, |
| size_t num_pages_on_y_axis); |
| |
| // Experimental API. |
| // Create a template to generate form xobjects from |src_doc|'s page at |
| // |src_page_index|, for use in |dest_doc|. |
| // |
| // Returns a handle on success, or NULL on failure. Caller owns the newly |
| // created object. |
| FPDF_EXPORT FPDF_XOBJECT FPDF_CALLCONV |
| FPDF_NewXObjectFromPage(FPDF_DOCUMENT dest_doc, |
| FPDF_DOCUMENT src_doc, |
| int src_page_index); |
| |
| // Experimental API. |
| // Close an FPDF_XOBJECT handle created by FPDF_NewXObjectFromPage(). |
| // FPDF_PAGEOBJECTs created from the FPDF_XOBJECT handle are not affected. |
| FPDF_EXPORT void FPDF_CALLCONV FPDF_CloseXObject(FPDF_XOBJECT xobject); |
| |
| // Experimental API. |
| // Create a new form object from an FPDF_XOBJECT object. |
| // |
| // Returns a new form object on success, or NULL on failure. Caller owns the |
| // newly created object. |
| FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV |
| FPDF_NewFormObjectFromXObject(FPDF_XOBJECT xobject); |
| |
| // Copy the viewer preferences from |src_doc| into |dest_doc|. |
| // |
| // dest_doc - Document to write the viewer preferences into. |
| // src_doc - Document to read the viewer preferences from. |
| // |
| // Returns TRUE on success. |
| FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV |
| FPDF_CopyViewerPreferences(FPDF_DOCUMENT dest_doc, FPDF_DOCUMENT src_doc); |
| |
| #ifdef __cplusplus |
| } // extern "C" |
| #endif // __cplusplus |
| |
| #endif // PUBLIC_FPDF_PPO_H_ |