Initial Commit

This commit is contained in:
2023-06-21 12:46:23 -04:00
commit c70248a520
1352 changed files with 336780 additions and 0 deletions

View File

@@ -0,0 +1,87 @@
using System;
using iTextSharp.text.pdf;
/*
* $Id: IPdfAnnotations.cs,v 1.1 2007/02/09 15:34:40 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
public interface IPdfAnnotations {
/**
* Use this methods to get the AcroForm object.
* Use this method only if you know what you're doing
* @return the PdfAcroform object of the PdfDocument
*/
PdfAcroForm AcroForm {
get;
}
/**
* Use this methods to add a <CODE>PdfAnnotation</CODE> or a <CODE>PdfFormField</CODE>
* to the document. Only the top parent of a <CODE>PdfFormField</CODE>
* needs to be added.
* @param annot the <CODE>PdfAnnotation</CODE> or the <CODE>PdfFormField</CODE> to add
*/
void AddAnnotation(PdfAnnotation annot);
/**
* Use this method to adds the <CODE>PdfAnnotation</CODE>
* to the calculation order array.
* @param annot the <CODE>PdfAnnotation</CODE> to be added
*/
void AddCalculationOrder(PdfFormField annot);
/**
* Use this method to set the signature flags.
* @param f the flags. This flags are ORed with current ones
*/
int SigFlags {
set;
}
}
}

View File

@@ -0,0 +1,87 @@
using System;
using iTextSharp.text.pdf;
/*
* $Id: IPdfDocumentActions.cs,v 1.1 2007/02/09 15:34:40 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
/**
* A PDF document can have an open action and other additional actions.
*/
public interface IPdfDocumentActions {
/**
* When the document opens it will jump to the destination with
* this name.
* @param name the name of the destination to jump to
*/
void SetOpenAction(String name);
/**
* When the document opens this <CODE>action</CODE> will be
* invoked.
* @param action the action to be invoked
*/
void SetOpenAction(PdfAction action);
/**
* Additional-actions defining the actions to be taken in
* response to various trigger events affecting the document
* as a whole. The actions types allowed are: <CODE>DOCUMENT_CLOSE</CODE>,
* <CODE>WILL_SAVE</CODE>, <CODE>DID_SAVE</CODE>, <CODE>WILL_PRINT</CODE>
* and <CODE>DID_PRINT</CODE>.
*
* @param actionType the action type
* @param action the action to execute in response to the trigger
* @throws DocumentException on invalid action type
*/
void SetAdditionalAction(PdfName actionType, PdfAction action);
}
}

View File

@@ -0,0 +1,96 @@
using System;
using Org.BouncyCastle.X509;
/*
* $Id: IPdfEncryptionSettings.cs,v 1.2 2007/04/29 13:57:00 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
/**
* Encryption settings are described in section 3.5 (more specifically
* section 3.5.2) of the PDF Reference 1.7.
* They are explained in section 3.3.3 of the book 'iText in Action'.
* The values of the different preferences were originally stored
* in class PdfWriter, but they have been moved to this separate interface
* for reasons of convenience.
*/
public interface IPdfEncryptionSettings {
/**
* Sets the encryption options for this document. The userPassword and the
* ownerPassword can be null or have zero length. In this case the ownerPassword
* is replaced by a random string. The open permissions for the document can be
* AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations,
* AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting.
* The permissions can be combined by ORing them.
* @param userPassword the user password. Can be null or empty
* @param ownerPassword the owner password. Can be null or empty
* @param permissions the user permissions
* @param encryptionType the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128 or ENCRYPTION_AES128.
* Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext
* @throws DocumentException if the document is already open
*/
void SetEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType);
/**
* Sets the certificate encryption options for this document. An array of one or more public certificates
* must be provided together with an array of the same size for the permissions for each certificate.
* The open permissions for the document can be
* AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations,
* AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting.
* The permissions can be combined by ORing them.
* Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext
* @param certs the public certificates to be used for the encryption
* @param permissions the user permissions for each of the certicates
* @param encryptionType the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128 or ENCRYPTION_AES128.
* @throws DocumentException if the document is already open
*/
void SetEncryption(X509Certificate[] certs, int[] permissions, int encryptionType);
}
}

View File

@@ -0,0 +1,85 @@
using System;
using iTextSharp.text;
using iTextSharp.text.pdf;
/*
* $Id: IPdfPageActions.cs,v 1.1 2007/02/09 15:34:40 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
/**
* A PDF page can have an open and/or close action.
*/
public interface IPdfPageActions {
/**
* Sets the open and close page additional action.
* @param actionType the action type. It can be <CODE>PdfWriter.PAGE_OPEN</CODE>
* or <CODE>PdfWriter.PAGE_CLOSE</CODE>
* @param action the action to perform
* @throws DocumentException if the action type is invalid
*/
void SetPageAction(PdfName actionType, PdfAction action);
/**
* Sets the display duration for the page (for presentations)
* @param seconds the number of seconds to display the page
*/
int Duration {
set;
}
/**
* Sets the transition for the page
* @param transition the Transition object
*/
PdfTransition Transition {
set;
}
}
}

View File

@@ -0,0 +1,63 @@
using System;
/*
* $Id: IPdfRunDirection.cs,v 1.1 2007/02/09 15:34:40 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
public interface IPdfRunDirection {
/** Sets the run direction. This is only used as a placeholder
* as it does not affect anything.
* @param runDirection the run direction
*/
int RunDirection {
set;
get;
}
}
}

View File

@@ -0,0 +1,94 @@
using System;
using iTextSharp.text;
using iTextSharp.text.pdf;
/*
* $Id: IPdfVersion.cs,v 1.1 2007/02/09 15:34:40 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
/**
* The PDF version is described in the PDF Reference 1.7 p92
* (about the PDF Header) and page 139 (the version entry in
* the Catalog). You'll also find info about setting the version
* in the book 'iText in Action' sections 2.1.3 (PDF Header)
* and 3.3 (Version history).
*/
public interface IPdfVersion {
/**
* If the PDF Header hasn't been written yet,
* this changes the version as it will appear in the PDF Header.
* If the PDF header was already written to the Stream,
* this changes the version as it will appear in the Catalog.
* @param version a character representing the PDF version
*/
char PdfVersion {
set;
}
/**
* If the PDF Header hasn't been written yet,
* this changes the version as it will appear in the PDF Header,
* but only if param refers to a higher version.
* If the PDF header was already written to the Stream,
* this changes the version as it will appear in the Catalog.
* @param version a character representing the PDF version
*/
void SetAtLeastPdfVersion(char version);
/**
* Sets the PDF version as it will appear in the Catalog.
* Note that this only has effect if you use a later version
* than the one that appears in the header; this method
* ignores the parameter if you try to set a lower version.
* @param version the PDF name that will be used for the Version key in the catalog
*/
void SetPdfVersion(PdfName version);
}
}

View File

@@ -0,0 +1,202 @@
using System;
using iTextSharp.text.pdf;
/*
* $Id: IPdfViewerPreferences.cs,v 1.3 2008/05/02 15:58:08 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
/**
* Viewer preferences are described in section 3.6.1 and 8.1 of the
* PDF Reference 1.7 (Table 3.25 on p139-142 and Table 8.1 on p579-581).
* They are explained in section 13.1 of the book 'iText in Action'.
* The values of the different preferences were originally stored
* in class PdfWriter, but they have been moved to this separate interface
* for reasons of convenience.
*/
public interface IPdfViewerPreferences {
/**
* Sets the page layout and page mode preferences by ORing one or two of these constants.
* <p>
* <ul>
* <li>The page layout to be used when the document is opened (choose one).
* <ul>
* <li><b>PAGE_LAYOUT_SINGLE_PAGE</b> - Display one page at a time. (default)
* <li><b>PAGE_LAYOUT_ONE_COLUMN</b> - Display the pages in one column.
* <li><b>PAGE_LAYOUT_TWO_COLUMN_LEFT</b> - Display the pages in two columns, with
* oddnumbered pages on the left.
* <li><b>PAGE_LAYOUT_TWO_COLUMN_RIGHT</b> - Display the pages in two columns, with
* oddnumbered pages on the right.
* <li><b>PAGE_LAYOUT_TWO_PAGE_LEFT</b> - Display the pages two at a time, with
* oddnumbered pages on the left.
* <li><b>PAGE_LAYOUT_TWO_PAGE_RIGHT</b> - Display the pages two at a time, with
* oddnumbered pages on the right.
* </ul>
* <li>The page mode how the document should be displayed
* when opened (choose one).
* <ul>
* <li><b>PAGE_MODE_USE_NONE</b> - Neither document outline nor thumbnail images visible. (default)
* <li><b>PAGE_MODE_USE_OUTLINES</b> - Document outline visible.
* <li><b>PAGE_MODE_USE_THUMBS</b> - Thumbnail images visible.
* <li><b>PAGE_MODE_FULL_SCREEN</b> - Full-screen mode, with no menu bar, window
* controls, or any other window visible.
* <li><b>PAGE_MODE_USE_OC</b> - Optional content group panel visible
* <li><b>PAGE_MODE_USE_ATTACHMENTS</b> - Attachments panel visible
* </ul>
* </ul>
* For backward compatibility these values are also supported,
* but it's better to use method <code>addViewerPreference(key, value)</code>
* if you want to change the following preferences:
* <ul>
* <li><b>HIDE_TOOLBAR</b> - A flag specifying whether to hide the viewer application's tool
* bars when the document is active.
* <li><b>HIDE_MENUBAR</b> - A flag specifying whether to hide the viewer application's
* menu bar when the document is active.
* <li><b>HIDE_WINDOW_UI</b> - A flag specifying whether to hide user interface elements in
* the document's window (such as scroll bars and navigation controls),
* leaving only the document's contents displayed.
* <li><b>FIT_WINDOW</b> - A flag specifying whether to resize the document's window to
* fit the size of the first displayed page.
* <li><b>CENTER_WINDOW</b> - A flag specifying whether to position the document's window
* in the center of the screen.
* <li><b>DISPLAY_DOC_TITLE</b> - A flag specifying whether to display the document's title
* in the top bar.
* <li>The predominant reading order for text. This entry has no direct effect on the
* document's contents or page numbering, but can be used to determine the relative
* positioning of pages when displayed side by side or printed <i>n-up</i> (choose one).
* <ul>
* <li><b>DIRECTION_L2R</b> - Left to right
* <li><b>DIRECTION_R2L</b> - Right to left (including vertical writing systems such as
* Chinese, Japanese, and Korean)
* </ul>
* <li>The document's page mode, specifying how to display the
* document on exiting full-screen mode. It is meaningful only
* if the page mode is <b>PageModeFullScreen</b> (choose one).
* <ul>
* <li><b>NON_FULL_SCREEN_PAGE_MODE_USE_NONE</b> - Neither document outline nor thumbnail images
* visible
* <li><b>NON_FULL_SCREEN_PAGE_MODE_USE_OUTLINES</b> - Document outline visible
* <li><b>NON_FULL_SCREEN_PAGE_MODE_USE_THUMBS</b> - Thumbnail images visible
* <li><b>NON_FULL_SCREEN_PAGE_MODE_USE_OC</b> - Optional content group panel visible
* </ul>
* <li><b>PRINT_SCALING_NONE</b> - Indicates that the print dialog should reflect no page scaling.
* </ul>
* @param preferences the viewer preferences
* @see PdfViewerPreferences#addViewerPreference
*/
int ViewerPreferences {
set;
}
/**
* Adds a viewer preference.
* <ul>
* <li>In case the key is one of these values:
* <ul>
* <li>PdfName.<b>HIDETOOLBAR</b>
* <li>PdfName.<b>HIDEMENUBAR</b>
* <li>PdfName.<b>HIDEWINDOWUI</b>
* <li>PdfName.<b>FITWINDOW</b>
* <li>PdfName.<b>CENTERWINDOW</b>
* <li>PdfName.<b>DISPLAYDOCTITLE</b>
* </ul>
* The value must be a of type PdfBoolean (true or false).
* <li>In case the key is PdfName.<b>NONFULLSCREENPAGEMODE</b>,
* the value must be one of these names:
* <ul>
* <li>PdfName.<b>USENONE</b>
* <li>PdfName.<b>USEOUTLINES</b>
* <li>PdfName.<b>USETHUMBS</b>
* <li>PdfName.<b>USEOC</b>
* </ul>
* <li>In case the key is PdfName.DIRECTION,
* the value must be one of these names:
* <ul>
* <li>PdfName.<b>L2R</b>
* <li>PdfName.<b>R2L</b>
* </ul>
* <li>In case the key is one of these values:
* <ul>
* <li>PdfName.<b>VIEWAREA</b>
* <li>PdfName.<b>VIEWCLIP</b>
* <li>PdfName.<b>PRINTAREA</b>
* <li>PdfName.<b>PRINTCLIP</b>
* </ul>
* The value must be one of these names:
* <ul>
* <li>PdfName.<b>MEDIABOX</b>
* <li>PdfName.<b>CROPBOX</b>
* <li>PdfName.<b>BLEEDBOX</b>
* <li>PdfName.<b>TRIMBOX</b>
* <li>PdfName.<b>ARTBOX</b>
* </ul>
* <li>In case the key is PdfName.<b>PRINTSCALING</b>, the value can be
* <ul>
* <li>PdfName.<b>APPDEFAULT</b>
* <li>PdfName.<b>NONE</b>
* </ul>
* <li>In case the key is PdfName.<b>DUPLEX</b>, the value can be:
* <ul>
* <li>PdfName.<b>SIMPLEX</b>
* <li>PdfName.<b>DUPLEXFLIPSHORTEDGE</b>
* <li>PdfName.<b>DUPLEXFLIPLONGEDGE</b>
* </ul>
* <li>In case the key is PdfName.<b>PICKTRAYBYPDFSIZE</b>, the value must be of type PdfBoolean.
* <li>In case the key is PdfName.<b>PRINTPAGERANGE</b>, the value must be of type PdfArray.
* <li>In case the key is PdfName.<b>NUMCOPIES</b>, the value must be of type PdfNumber.
* <ul>
* </ul>
* @param key the name of the viewer preference
* @param value the value of the viewer preference
* @see PdfViewerPreferences#setViewerPreferences
*/
void AddViewerPreference(PdfName key, PdfObject value);
}
}

View File

@@ -0,0 +1,71 @@
using System;
/*
* $Id: IPdfXConformance.cs,v 1.2 2007/06/05 15:00:43 psoares33 Exp $
*
* Copyright 2006 Bruno Lowagie
*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the License.
*
* The Original Code is 'iText, a free JAVA-PDF library'.
*
* The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
* the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie.
* All Rights Reserved.
* Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
* are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved.
*
* Contributor(s): all the names of the contributors are added in the source code
* where applicable.
*
* Alternatively, the contents of this file may be used under the terms of the
* LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the
* provisions of LGPL are applicable instead of those above. If you wish to
* allow use of your version of this file only under the terms of the LGPL
* License and not to allow others to use your version of this file under
* the MPL, indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by the LGPL.
* If you do not delete the provisions above, a recipient may use your version
* of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the MPL as stated above or under the terms of the GNU
* Library General Public License as published by the Free Software Foundation;
* either version 2 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
* details.
*
* If you didn't download this code from the following link, you should check if
* you aren't using an obsolete version:
* http://www.lowagie.com/iText/
*/
namespace iTextSharp.text.pdf.interfaces {
public interface IPdfXConformance {
/**
* Sets the PDF/X conformance level.
* Allowed values are PDFX1A2001, PDFX32002, PDFA1A and PDFA1B.
* It must be called before opening the document.
* @param pdfxConformance the conformance level
*/
int PDFXConformance{
set;
get;
}
/**
* Checks if the PDF/X Conformance is necessary.
* @return true if the PDF has to be in conformance with any of the PDF/X specifications
*/
bool IsPdfX();
}
}