diff --git a/.factorypath b/.factorypath deleted file mode 100644 index a9427a51..00000000 --- a/.factorypath +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/.github/instructions/docs-style.instructions.md b/.github/instructions/docs-style.instructions.md new file mode 100644 index 00000000..925ad03f --- /dev/null +++ b/.github/instructions/docs-style.instructions.md @@ -0,0 +1,35 @@ +--- +description: "Use when editing Markdown documentation to keep structure, tone, and links consistent across project docs." +name: "Docs Markdown Style" +applyTo: "{README.md,docs/**/*.md}" +--- +# Docs Markdown Style + +## Scope and Priority + +- Treat this as a cross-doc style baseline. +- When editing [README.md](../../README.md), also follow [readme-maintenance.instructions.md](./readme-maintenance.instructions.md) for technical accuracy. + +## Structure + +- Keep heading hierarchy sequential (`##` after `#`, avoid skipping levels). +- Prefer short, scannable sections with clear titles. +- Use tables only when they improve comparison; otherwise prefer bullet lists. + +## Writing Style + +- Keep language concise, factual, and task-oriented. +- Avoid marketing-heavy rewrites unless explicitly requested. +- Preserve existing terminology for product, package, and feature names. + +## Links and Examples + +- Prefer repository-relative links for local files and stable canonical links for external docs. +- Keep code snippets short and directly relevant to the section. +- When possible, point to runnable examples in `examples/documentation/src/main/java/com/aspose/pdf/examples` instead of embedding long snippets. + +## Safe Editing Boundaries + +- Avoid broad formatting-only rewrites that hide meaningful diffs. +- Keep changes scoped to the requested doc area. +- Do not change support or legal links unless explicitly requested. diff --git a/.github/instructions/java-examples.instructions.md b/.github/instructions/java-examples.instructions.md new file mode 100644 index 00000000..5a3b7a11 --- /dev/null +++ b/.github/instructions/java-examples.instructions.md @@ -0,0 +1,47 @@ +--- +description: "Use when creating or modifying Java example classes for Aspose.PDF examples, including runners, category orchestration, file path usage, and sample-data folder alignment." +name: "Java Examples Conventions" +applyTo: "examples/documentation/src/main/java/com/aspose/pdf/examples/**/*.java" +--- +# Java Examples Conventions + +## Follow Existing Structure + +- Keep classes in package paths under examples/documentation/src/main/java/com/aspose/pdf/examples. +- Use final utility-style classes with a private constructor for example groups. +- Keep the category runner pattern: + - runAllExamples(String licensePath) + - main(String[] args) + +## Required Runtime Flow + +1. Resolve or pass through license path with ExampleConfig. +2. Call ExampleConfig.setLicense(licensePath). +3. Initialize category data directories with ExampleConfig.initializeDataDir("category_name"). +4. Wrap each example operation with ExampleRunner.run("Operation name", () -> ...). + +## File and Data Path Rules + +- Use java.nio.file.Path for local file handling. +- Convert to String only where Aspose APIs require it. +- Keep sample-data category names aligned with code intent: + - examples/documentation/sample-data//input + - examples/documentation/sample-data//output + +## Resource Safety + +- Always close com.aspose.pdf.Document instances. +- Prefer try-with-resources where possible; otherwise use try/finally. + +## Agent Guardrails + +- Keep examples small and runnable as standalone methods. +- Do not add new frameworks or dependencies unless the task explicitly requires it. +- Preserve existing console output style used by ExampleRunner. +- If adding a new category runner, ensure examples/documentation/tools/run-all-examples scripts are updated when appropriate. + +## References + +- [AGENTS.md](../../AGENTS.md) +- [ExampleConfig.java](../../examples/documentation/src/main/java/com/aspose/pdf/examples/ExampleConfig.java) +- [ExampleRunner.java](../../examples/documentation/src/main/java/com/aspose/pdf/examples/ExampleRunner.java) diff --git a/.github/instructions/readme-maintenance.instructions.md b/.github/instructions/readme-maintenance.instructions.md new file mode 100644 index 00000000..38f30a66 --- /dev/null +++ b/.github/instructions/readme-maintenance.instructions.md @@ -0,0 +1,26 @@ +--- +description: "Use when editing the repository README to keep technical claims and quick-start guidance aligned with the codebase." +name: "README Maintenance Conventions" +applyTo: "README.md" +--- +# README Maintenance Conventions + +## Accuracy First + +- Verify version statements against [pom.xml](../../pom.xml) before updating text. +- Prefer repository-truth commands (`mvn clean compile`, runner commands, and scripts in [examples/documentation/tools](../../examples/documentation/tools)). +- If a statement conflicts with source-of-truth files, update the README to match code and build configuration. + +## Keep Documentation Lean + +- Link to canonical references instead of duplicating long instructions: + - [Aspose.PDF Java Docs](https://docs.aspose.com/pdf/java/) + - [API Reference](https://apireference.aspose.com/pdf/java) + - [AGENTS.md](../../AGENTS.md) +- Keep examples concise and representative; avoid large code blocks unless requested. + +## Consistency Rules + +- Keep naming and paths consistent with repository layout (for example `examples/documentation/src/main/java/com/aspose/pdf/examples` and `examples/documentation/sample-data`). +- Preserve existing support/product links unless the task explicitly asks for link changes. +- Use Markdown tables and headings with the existing README style; avoid unrelated formatting rewrites. diff --git a/.github/prompts/add-example-category.prompt.md b/.github/prompts/add-example-category.prompt.md new file mode 100644 index 00000000..81f02bc1 --- /dev/null +++ b/.github/prompts/add-example-category.prompt.md @@ -0,0 +1,40 @@ +--- +description: "Create a new Aspose.PDF Java example category with package, runner class, operation stubs, sample-data folders, and optional script registration. Use when adding a new feature area." +name: "Add Example Category" +argument-hint: "Category package name + sample-data folder name + operation list" +agent: "agent" +--- +Create a new example category in this repository. + +Input format: +- category package name: lower-case package segment, for example workingwithforms +- sample-data folder name: snake_case folder, for example working_with_forms +- optional operation names: comma-separated, for example CreateFormExample, FillFormExample +- optional register-runner: yes or no + +Tasks: +1. Inspect existing patterns in: + - [AGENTS.md](../../AGENTS.md) + - [ExampleConfig.java](../../examples/documentation/src/main/java/com/aspose/pdf/examples/ExampleConfig.java) + - [ExampleRunner.java](../../examples/documentation/src/main/java/com/aspose/pdf/examples/ExampleRunner.java) + - [BasicOperationsExamples.java](../../examples/documentation/src/main/java/com/aspose/pdf/examples/basicoperations/BasicOperationsExamples.java) +2. Create package folder under examples/documentation/src/main/java/com/aspose/pdf/examples/. +3. Create a category runner class named in PascalCase with Examples suffix. +4. Add operation example classes (if provided), each with: + - static example methods + - runAllExamples(String licensePath) + - main(String[] args) +5. Ensure runner and operation classes use: + - ExampleConfig.setLicense + - ExampleConfig.initializeDataDir("") + - ExampleRunner.run for each operation +6. Create sample-data directories: + - examples/documentation/sample-data//input + - examples/documentation/sample-data//output +7. If register-runner is yes, add the new runner to examples/documentation/tools scripts that execute all runners. +8. Run a compile check and report any failures. + +Output: +- List of created or modified files +- Any assumptions made +- Follow-up actions needed for missing input sample PDFs diff --git a/.github/prompts/update-readme.prompt.md b/.github/prompts/update-readme.prompt.md new file mode 100644 index 00000000..c250fc03 --- /dev/null +++ b/.github/prompts/update-readme.prompt.md @@ -0,0 +1,25 @@ +--- +description: "Audit and update README.md for technical accuracy and command consistency with this repository. Use when asked to refresh, fix, or modernize README content." +name: "Update README" +argument-hint: "Scope of changes, for example: Java version section, quick-start commands, or links" +agent: "agent" +--- +Update [README.md](../../README.md) with the requested scope while keeping the document aligned with repository truth. + +Tasks: +1. Read and compare: + - [README.md](../../README.md) + - [pom.xml](../../pom.xml) + - [examples/documentation/pom.xml](../../examples/documentation/pom.xml) + - [AGENTS.md](../../AGENTS.md) + - [examples/documentation/tools/run-all-examples.ps1](../../examples/documentation/tools/run-all-examples.ps1) + - [examples/documentation/tools/run-all-examples.sh](../../examples/documentation/tools/run-all-examples.sh) +2. Correct outdated technical claims (versions, commands, paths) to match current files. +3. Preserve existing README structure and product messaging unless the prompt explicitly asks for restructuring. +4. Prefer links to canonical docs over long embedded explanations. +5. Keep edits focused to the requested scope and avoid unrelated rewrites. + +Output: +- Summary of what changed +- Any assumptions made +- Follow-up items that need repository maintainer confirmation diff --git a/.github/skills/example-validation/SKILL.md b/.github/skills/example-validation/SKILL.md new file mode 100644 index 00000000..4f33505e --- /dev/null +++ b/.github/skills/example-validation/SKILL.md @@ -0,0 +1,58 @@ +--- +name: example-validation +description: 'Validate Aspose.PDF Java example changes by compiling, running example runners, and checking expected output files. Use when editing example classes, adding new categories, or reviewing regressions.' +argument-hint: 'Runner class, license path, expected output files' +user-invocable: true +--- +# Example Validation Workflow + +Use this skill after changing Java examples to confirm they still compile and produce expected output files. + +## When to Use + +- After modifying files in examples/documentation/src/main/java/com/aspose/pdf/examples +- After adding a new category runner or operation class +- Before opening a PR for examples changes + +## Inputs + +- Runner class (optional): fully qualified class name, for example com.aspose.pdf.examples.basicoperations.BasicOperationsExamples +- License path (optional): absolute path to Aspose.PDF license file +- Expected outputs (optional): output filenames relative to examples/documentation/sample-data//output + +## Procedure + +1. Confirm Java toolchain and compile: + - mvn -f examples/documentation/pom.xml clean compile +2. Run the selected runner if provided: + - cd examples/documentation + - mvn -DskipTests exec:java "-Dexec.mainClass=" +3. If no runner is provided, run the repository-wide script: + - Windows PowerShell: + - examples/documentation/tools/run-all-examples.ps1 + - examples/documentation/tools/run-all-examples.ps1 -LicensePath "" + - Bash: + - examples/documentation/tools/run-all-examples.sh + - examples/documentation/tools/run-all-examples.sh --license +4. Check output artifacts: + - Verify expected files exist under examples/documentation/sample-data//output + - Flag missing files and list them explicitly +5. Summarize validation status: + - compile: pass or fail + - run: pass or fail + - outputs: pass or fail + - blockers and next actions + +## Validation Notes + +- JDK 25 or newer is required; builds fail on older versions. +- If no license is provided, examples may run in evaluation mode. +- initializeDataDir creates directories automatically, so missing folders alone do not prove success. + +## References + +- [AGENTS.md](../../../AGENTS.md) +- [pom.xml](../../../pom.xml) +- [examples/documentation/pom.xml](../../../examples/documentation/pom.xml) +- [run-all-examples.ps1](../../../examples/documentation/tools/run-all-examples.ps1) +- [run-all-examples.sh](../../../examples/documentation/tools/run-all-examples.sh) diff --git a/.gitignore b/.gitignore index 9c692245..2954917c 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ Out/ Out*/ *.lic Data/*Out* +*out* diff --git a/.java-version b/.java-version new file mode 100644 index 00000000..7273c0fa --- /dev/null +++ b/.java-version @@ -0,0 +1 @@ +25 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..c5f3f6b9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..f2e73f66 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,86 @@ +# AGENTS.md + +This file helps AI coding agents work effectively in this repository. + +## Scope and Goal + +- Repository type: Java Maven examples and plugin integrations for Aspose.PDF. +- Primary goal: add and maintain runnable documentation example code under `examples/documentation/src/main/java/com/aspose/pdf/examples` and matching sample data under `examples/documentation/sample-data`. +- Plugin integrations live under `plugins/` and should keep plugin-specific code, sample data, tools, and README content isolated. + +## Environment and Build + +- Required Java version: JDK 25 or newer (enforced by Maven Enforcer in `examples/documentation/pom.xml`). +- Build all Maven modules from the repository root: `mvn clean compile`. +- Build documentation examples only: `mvn -f examples/documentation/pom.xml clean compile`. +- Run one example runner: + - `cd examples/documentation` + - `mvn -DskipTests exec:java "-Dexec.mainClass=com.aspose.pdf.examples.basicoperations.BasicOperationsExamples"` +- Run all registered runners: + - PowerShell: `examples/documentation/tools/run-all-examples.ps1 [-LicensePath "C:\path\Aspose.PDF.lic"] [-StopOnFailure]` + - Bash: `examples/documentation/tools/run-all-examples.sh [--license /path/Aspose.PDF.lic] [--stop-on-failure]` + +## License Handling + +- License can be provided in this precedence order (see `ExampleConfig`): + - CLI argument: `--license=/path/to/Aspose.PDF.lic` + - JVM property: `-Daspose.pdf.license=/path/to/Aspose.PDF.lic` + - Environment variable: `ASPOSE_PDF_LICENSE` +- If no license is provided, examples still run but may operate in evaluation mode. + +## Code Layout and Patterns + +- Shared helpers: + - `ExampleConfig`: license resolution + sample-data directory initialization. + - `ExampleDataDirs`: input/output path helper. + - `ExampleRunner`: wraps examples and logs success/failure per operation. +- Current implemented category: `basicoperations`. +- Naming convention: + - Category runner class: `XxxExamples` with `runAllExamples(String licensePath)` and `main(String[] args)`. + - Operation classes follow the same `*Examples` suffix. +- When adding a new category runner, register its fully qualified main class in both `examples/documentation/tools/run-all-examples.ps1` (`$exampleClasses`) and `examples/documentation/tools/run-all-examples.sh` (`EXAMPLE_CLASSES`); unregistered runners will not be executed by the run-all scripts. +- Typical flow inside `runAllExamples`: + 1. `ExampleConfig.setLicense(licensePath)` + 2. `ExampleConfig.initializeDataDir("category_name")` + 3. `ExampleRunner.run("Operation name", () -> ...)` per operation + +## Data Directory Convention + +- Keep source and sample-data category names aligned: + - Java package: `...examples.` + - Sample data folder: `examples/documentation/sample-data//input` and `examples/documentation/sample-data//output` +- `initializeDataDir` creates missing directories automatically. + +## Editing Guidance for Agents + +- Keep examples simple, runnable, and focused on one feature each. +- Prefer `Path` (`java.nio.file.Path`) for file paths and convert to string only at Aspose API boundaries. +- Always close `Document` objects (try-with-resources or try/finally). +- Preserve existing output logging style (`Success:` / `Failed:`) via `ExampleRunner`. +- Do not add heavyweight frameworks; keep dependencies minimal and Maven-based. + +## README Update Guidance + +- For `README.md` changes, keep runtime/version claims synchronized with `pom.xml` (for example Java and dependency versions). +- Keep quick-start commands runnable and aligned with repository scripts in `examples/documentation/tools/`. +- Prefer linking to canonical docs (`docs.aspose.com`, API reference, and repository files) instead of duplicating long procedural content. +- Preserve existing product positioning and support/resource links unless the task explicitly requests branding or navigation changes. +- If README examples are changed, prefer short snippets and point to runnable examples under `examples/documentation/src/main/java/com/aspose/pdf/examples`. + +## Known Pitfalls + +- JDK older than 25 will fail build due to the enforcer rule. +- Many category directories are placeholders; treat a category as a placeholder only when `examples/documentation/src/main/java/com/aspose/pdf/examples/` contains no `.java` files, and check for file presence before assuming examples already exist there. +- Input files are assumed to exist in `examples/documentation/sample-data//input`; add missing sample files when introducing new examples. +- Before submitting, verify that every input path referenced by new example code has a corresponding committed file under `examples/documentation/sample-data//input`. If a sample file is generated programmatically instead, document that in the example's Javadoc. + +## Useful References + +- Project overview: [README.md](README.md) +- Build/tooling: [pom.xml](pom.xml), [examples/documentation/pom.xml](examples/documentation/pom.xml) +- Scripted execution: [examples/documentation/tools/run-all-examples.ps1](examples/documentation/tools/run-all-examples.ps1), [examples/documentation/tools/run-all-examples.sh](examples/documentation/tools/run-all-examples.sh) +- Docs style instruction: [.github/instructions/docs-style.instructions.md](.github/instructions/docs-style.instructions.md) +- README-focused instruction: [.github/instructions/readme-maintenance.instructions.md](.github/instructions/readme-maintenance.instructions.md) +- README-focused prompt: [.github/prompts/update-readme.prompt.md](.github/prompts/update-readme.prompt.md) +- Aspose docs: +- API reference: diff --git a/Examples/PathToDirDetermineLineBreak_out.pdf b/Examples/PathToDirDetermineLineBreak_out.pdf deleted file mode 100644 index 1b092065..00000000 Binary files a/Examples/PathToDirDetermineLineBreak_out.pdf and /dev/null differ diff --git a/Examples/README.md b/Examples/README.md deleted file mode 100644 index 820561a6..00000000 --- a/Examples/README.md +++ /dev/null @@ -1,13 +0,0 @@ -## Aspose.PDF for Java Examples - -This package contains Java Example Project for [Aspose.PDF for Java](http://products.aspose.com/pdf/java). - -

- - - -

- -## How to Run the Examples? - -All the examples are arranged in src folder and any modern IDE like IntelliJ IDEA, Eclipse, Netbeans etc can import the source folder easily. Visit our [documentation website](https://docs.aspose.com/display/pdfjava/How+to+Run+the+Examples) for more details. \ No newline at end of file diff --git a/Examples/pom.xml b/Examples/pom.xml deleted file mode 100644 index 54b53020..00000000 --- a/Examples/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - 4.0.0 - com.aspose - pdf-java-examples - 1.0-SNAPSHOT - jar - - 1.8 - 1.8 - - - - AsposeJavaAPI - Aspose Java API - http://artifact.aspose.com/repo/ - - - com.springsource.repository.bundles.external - SpringSource Enterprise Bundle Repository - External Bundle Releases - http://repository.springsource.com/maven/bundles/external - - - - - com.aspose - aspose-pdf - 18.4 - - - javax.media.jai - com.springsource.javax.media.jai.core - 1.1.3 - - - com.aspose - aspose-words - 18.5 - jdk16 - - - - commons-io - commons-io - 2.5 - - - \ No newline at end of file diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/AddAnnotationToPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/AddAnnotationToPDF.java deleted file mode 100644 index 82fa9d46..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/AddAnnotationToPDF.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Annotations; - -import com.aspose.pdf.AnnotationFlags; -import com.aspose.pdf.AnnotationState; -import com.aspose.pdf.Border; -import com.aspose.pdf.Dash; -import com.aspose.pdf.DefaultAppearance; -import com.aspose.pdf.Document; -import com.aspose.pdf.FreeTextAnnotation; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.TextAnnotation; -import com.aspose.pdf.TextIcon; - -public class AddAnnotationToPDF { - - public static void main(String[] args) { - addAnnotationToPDF(); - invisibleAnnotation(); - } - - public static void addAnnotationToPDF() { - // Open the source PDF document - Document pdfDocument = new Document("input.pdf"); - // Create annotation - TextAnnotation textAnnotation = new TextAnnotation(pdfDocument.getPages().get_Item(1), new Rectangle(200, 400, 400, 600)); - // Set annotation title - textAnnotation.setTitle("Sample Annotation Title"); - // Set annotation subject - textAnnotation.setSubject("Sample Subject"); - textAnnotation.setState(AnnotationState.Accepted); - // Specify the annotation contents - textAnnotation.setContents("Sample contents for the annotation"); - textAnnotation.setOpen(true); - textAnnotation.setIcon(TextIcon.Key); - Border border = new Border(textAnnotation); - border.setWidth(5); - border.setDash(new Dash(1, 1)); - textAnnotation.setBorder(border); - textAnnotation.setRect(new Rectangle(200, 400, 400, 600)); - // Add annotation in the annotations collection of the page - pdfDocument.getPages().get_Item(1).getAnnotations().add(textAnnotation); - // Save the output file - pdfDocument.save("output.pdf"); - } - - public static void invisibleAnnotation() { - Document doc = new Document(); - doc.getPages().add(); - FreeTextAnnotation annotation = new FreeTextAnnotation(doc.getPages().get_Item(1), new Rectangle(50, 600, 250, 650), new DefaultAppearance("Helvetica", 16, java.awt.Color.RED)); - annotation.setContents("ABCDEFG"); - annotation.getCharacteristics().setBorder(java.awt.Color.RED); - annotation.setFlags(AnnotationFlags.Print | AnnotationFlags.NoView); - doc.getPages().get_Item(1).getAnnotations().add(annotation); - doc.save("Invisible_Annotation.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/DeleteAllAnnotationsFromPageOfPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/DeleteAllAnnotationsFromPageOfPDFFile.java deleted file mode 100644 index a57de94f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/DeleteAllAnnotationsFromPageOfPDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Annotations; - -import com.aspose.pdf.Document; - -public class DeleteAllAnnotationsFromPageOfPDFFile { - - public static void main(String[] args) { - // Open source PDF document - Document pdfDocument = new Document("input.pdf"); - // Delete all annotation - pdfDocument.getPages().get_Item(1).getAnnotations().delete(); - // Save the update document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/DeleteParticularAnnotationFromThePDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/DeleteParticularAnnotationFromThePDFFile.java deleted file mode 100644 index 83cd2cd1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/DeleteParticularAnnotationFromThePDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Annotations; - -import com.aspose.pdf.Document; - -public class DeleteParticularAnnotationFromThePDFFile { - - public static void main(String[] args) { - // Open source PDF document - Document pdfDocument = new Document("input.pdf"); - // Delete particular annotation - pdfDocument.getPages().get_Item(1).getAnnotations().delete(1); - // Save the update document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/GetAllAnnotationsFromPageInPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/GetAllAnnotationsFromPageInPDF.java deleted file mode 100644 index 935dedc8..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/GetAllAnnotationsFromPageInPDF.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Annotations; - -import com.aspose.pdf.Document; - -public class GetAllAnnotationsFromPageInPDF { - - public static void main(String[] args) { - // Open source PDF document - Document pdfDocument = new Document("Annotated_output.pdf"); - // Loop through all the annotations - for (int Annot_counter = 1; Annot_counter <= pdfDocument.getPages().get_Item(1).getAnnotations().size(); Annot_counter++) { - // Get annotation properties - System.out.printf("Full Name :- " + pdfDocument.getPages().get_Item(Annot_counter).getAnnotations().get_Item(Annot_counter).getFullName()); - System.out.printf("Page Number :- " + pdfDocument.getPages().get_Item(Annot_counter).getAnnotations().get_Item(Annot_counter).getPageIndex()); - System.out.printf("Contents :- " + pdfDocument.getPages().get_Item(Annot_counter).getAnnotations().get_Item(Annot_counter).getContents()); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/GetParticularAnnotationFromPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/GetParticularAnnotationFromPDF.java deleted file mode 100644 index f1a67a1e..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/GetParticularAnnotationFromPDF.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Annotations; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextAnnotation; - -public class GetParticularAnnotationFromPDF { - - public static void main(String[] args) { - // Open source PDF document - Document pdfDocument = new Document("input.pdf"); - // Get particular annotation - TextAnnotation textAnnotation = (TextAnnotation) pdfDocument.getPages().get_Item(1).getAnnotations().get_Item(1); - // Get annotation properties - System.out.printf("Title :- " + textAnnotation.getTitle()); - System.out.printf("Subject :- " + textAnnotation.getSubject()); - System.out.printf("Contents :- " + textAnnotation.getContents()); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/RedactCertainPageRegionWithRedactionAnnotation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/RedactCertainPageRegionWithRedactionAnnotation.java deleted file mode 100644 index 5ad624b4..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/RedactCertainPageRegionWithRedactionAnnotation.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Annotations; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.HorizontalAlignment; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.RedactionAnnotation; -import com.aspose.pdf.facades.PdfAnnotationEditor; - -public class RedactCertainPageRegionWithRedactionAnnotation { - - public static void main(String[] args) { - redactCertainPageRegionWithRedactionAnnotation(); - facadesApproach(); - } - - public static void redactCertainPageRegionWithRedactionAnnotation() { - Document doc = new Document("HelloWorld.pdf"); - Rectangle rect = new Rectangle(200, 500, 300, 600); - RedactionAnnotation annot = new RedactionAnnotation(doc.getPages().get_Item(1), rect); - annot.setFillColor(Color.getBlack()); - annot.setBorderColor(Color.getYellow()); - annot.setColor(Color.getBlue()); - annot.setOverlayText("REDACTED"); - annot.setTextAlignment(HorizontalAlignment.Center); - annot.setRepeat(true); - doc.getPages().get_Item(1).getAnnotations().add(annot); - doc.save("Redaction_out.pdf"); - } - - public static void facadesApproach() { - PdfAnnotationEditor editor = new PdfAnnotationEditor(); - editor.bindPdf("HelloWorld.pdf"); - // redact certain page region - editor.redactArea(1, new Rectangle(100, 100, 20, 70), java.awt.Color.WHITE); - editor.save("Redaction_out.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/StrikeOutWordsUsingStrikeOutAnnotation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/StrikeOutWordsUsingStrikeOutAnnotation.java deleted file mode 100644 index 885c344d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Annotations/StrikeOutWordsUsingStrikeOutAnnotation.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Annotations; - -import com.aspose.pdf.Border; -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.StrikeOutAnnotation; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; -import com.aspose.pdf.TextSegment; - -public class StrikeOutWordsUsingStrikeOutAnnotation { - - public static void main(String[] args) { - // Instantiate Document object - Document document = new Document("test.pdf"); - // Create TextFragment Absorber instance to search particular text - // fragment - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("Estoque"); - // Iterate through pages of PDF document - for (int i = 1; i <= document.getPages().size(); i++) { - // Get first page of PDF document - Page page = document.getPages().get_Item(i); - page.accept(textFragmentAbsorber); - } - // Create a collection of Absorbed text - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // Iterate on above collection - for (int j = 1; j <= textFragmentCollection.size(); j++) { - TextFragment textFragment = textFragmentCollection.get_Item(j); - // Get rectangular dimensions of TextFragment object - Rectangle rect = new Rectangle((float) textFragment.getPosition().getXIndent(), (float) textFragment.getPosition().getYIndent(), (float) textFragment.getPosition().getXIndent() + (float) textFragment.getRectangle().getWidth(), (float) textFragment.getPosition().getYIndent() + (float) textFragment.getRectangle().getHeight()); - // Instantiate StrikeOut Annotation instance - StrikeOutAnnotation strikeOut = new StrikeOutAnnotation(textFragment.getPage(), rect); - // Set opacity for annotation - strikeOut.setOpacity(.80); - // Set the border for annotation instance - strikeOut.setBorder(new Border(strikeOut)); - // Set the color of annotation - strikeOut.setColor(Color.getRed()); - // Add annotation to annotations collection of TextFragment - textFragment.getPage().getAnnotations().add(strikeOut); - } - // Save updated document - document.save("StrikeOut.pdf"); -/* - // Info - for (TextSegment ts : (Iterable) textFragment.getSegments()) { - StrikeOutAnnotation strikeOut = new StrikeOutAnnotation(textFragment.getPage(), ts.getRectangle()); - // Create a new section in the Pdf object - strikeOut.setOpacity(.80); - strikeOut.setBorder(new Border(strikeOut)); - strikeOut.setColor(com.aspose.pdf.Color.getRed()); - textFragment.getPage().getAnnotations().add(strikeOut); - } - // Info -*/ - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/AddAttachmentToPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/AddAttachmentToPDF.java deleted file mode 100644 index 297b9096..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/AddAttachmentToPDF.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Attachments; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FileSpecification; - -public class AddAttachmentToPDF { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Set up a new file to be added as attachment - FileSpecification fileSpecification = new FileSpecification("sample.txt", "Sample text file"); - // Add an attachment to document's attachment collection - pdfDocument.getEmbeddedFiles().add(fileSpecification); - // Save the updated document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/DeleteAllAttachmentsFromPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/DeleteAllAttachmentsFromPDF.java deleted file mode 100644 index dced1aa7..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/DeleteAllAttachmentsFromPDF.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Attachments; - -import com.aspose.pdf.Document; - -public class DeleteAllAttachmentsFromPDF { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Delete all attachments - pdfDocument.getEmbeddedFiles().delete(); - // Save the updated file - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/DisableFilesCompressionWhenAddingAsEmbeddedResources.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/DisableFilesCompressionWhenAddingAsEmbeddedResources.java deleted file mode 100644 index 5143b19f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/DisableFilesCompressionWhenAddingAsEmbeddedResources.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Attachments; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FileEncoding; -import com.aspose.pdf.FileSpecification; - -public class DisableFilesCompressionWhenAddingAsEmbeddedResources { - - public static void main(String[] args) throws Exception { - // get reference of source/input file - java.nio.file.Path path = java.nio.file.Paths.get("input.pdf"); - // read all the contents from source file into ByteArray - byte[] data = java.nio.file.Files.readAllBytes(path); - // create an instance of Stream object from ByteArray contents - InputStream is = new ByteArrayInputStream(data); - // Instantiate Document object from stream instance - Document pdfDocument = new Document(is); - // setup new file to be added as attachment - FileSpecification fileSpecification = new FileSpecification("test.txt", "Sample text file"); - // Specify Encoding property setting it to FileEncoding.None - fileSpecification.setEncoding(FileEncoding.None); - // add attachment to document's attachment collection - pdfDocument.getEmbeddedFiles().add(fileSpecification); - // save new output - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/GetAttachmentInformation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/GetAttachmentInformation.java deleted file mode 100644 index 7acfe4a4..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/GetAttachmentInformation.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Attachments; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FileSpecification; - -public class GetAttachmentInformation { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Get particular embedded file - FileSpecification fileSpecification = pdfDocument.getEmbeddedFiles().get_Item(1); - // Get the file properties - System.out.println("Name:-" + fileSpecification.getName()); - System.out.println("Description:- " + fileSpecification.getDescription()); - System.out.println("Mime Type:-" + fileSpecification.getMIMEType()); - // Check if parameter object contains the parameters - if (fileSpecification.getParams() != null) { - System.out.println("CheckSum:- " + fileSpecification.getParams().getCheckSum()); - System.out.println("Creation Date:- " + fileSpecification.getParams().getCreationDate()); - System.out.println("Modification Date:- " + fileSpecification.getParams().getModDate()); - System.out.println("Size:- " + fileSpecification.getParams().getSize()); - } - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/GetAttachmentsFromPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/GetAttachmentsFromPDFDocument.java deleted file mode 100644 index d341b83d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Attachments/GetAttachmentsFromPDFDocument.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Attachments; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FileSpecification; - -public class GetAttachmentsFromPDFDocument { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Get particular embedded file - FileSpecification fileSpecification = pdfDocument.getEmbeddedFiles().get_Item(1); - // Get the file properties - System.out.printf("Name: - " + fileSpecification.getName()); - System.out.printf("\nDescription: - " + fileSpecification.getDescription()); - System.out.printf("\nMime Type: - " + fileSpecification.getMIMEType()); - // Get attachment form PDF file - try { - InputStream input = fileSpecification.getContents(); - File file = new File(fileSpecification.getName()); - // Create path for file from pdf - file.getParentFile().mkdirs(); - // Create and extract file from pdf - java.io.FileOutputStream output = new java.io.FileOutputStream(fileSpecification.getName(), true); - byte[] buffer = new byte[4096]; - int n = 0; - while (-1 != (n = input.read(buffer))) - output.write(buffer, 0, n); - // Close InputStream object - input.close(); - output.close(); - } catch (IOException e) { - e.printStackTrace(); - } - // Close Document object - pdfDocument.dispose(); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/AddBookmarkToPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/AddBookmarkToPDFDocument.java deleted file mode 100644 index f8227220..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/AddBookmarkToPDFDocument.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.GoToAction; -import com.aspose.pdf.OutlineItemCollection; - -public class AddBookmarkToPDFDocument { - - public static void main(String[] args) { - // Open the source PDF document - Document pdfDocument = new Document("input.pdf"); - // Create a bookmark object - OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.getOutlines()); - pdfOutline.setTitle("Test Outline"); - pdfOutline.setItalic(true); - pdfOutline.setBold(true); - // Set the destination page number - pdfOutline.setAction(new GoToAction(pdfDocument.getPages().get_Item(1))); - // Add a bookmark in the document's outline collection. - pdfDocument.getOutlines().add(pdfOutline); - // Save the update document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/AddChildBookmarkToPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/AddChildBookmarkToPDFDocument.java deleted file mode 100644 index 9ac2850c..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/AddChildBookmarkToPDFDocument.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.GoToAction; -import com.aspose.pdf.OutlineItemCollection; - -public class AddChildBookmarkToPDFDocument { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create a parent bookmark object - OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.getOutlines()); - pdfOutline.setTitle("Parent Outline"); - pdfOutline.setItalic(true); - pdfOutline.setBold(true); - // Set the destination page number - pdfOutline.setDestination(new GoToAction(pdfDocument.getPages().get_Item(2))); - // Create a child bookmark object - OutlineItemCollection pdfChildOutline = new OutlineItemCollection(pdfDocument.getOutlines()); - pdfChildOutline.setTitle("Child Outline"); - pdfChildOutline.setItalic(true); - pdfChildOutline.setBold(true); - // Set the destination page number for child outline - pdfChildOutline.setDestination(new GoToAction(pdfDocument.getPages().get_Item(10))); - // Add child bookmark to parent bookmark's collection - pdfOutline.add(pdfChildOutline); - // Add parent bookmark to the document's outline collection. - pdfDocument.getOutlines().add(pdfOutline); - // Save output - pdfDocument.save("PDF_with_ChildBookmarks.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/BookmarkShouldPointToStartOfPage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/BookmarkShouldPointToStartOfPage.java deleted file mode 100644 index be21129a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/BookmarkShouldPointToStartOfPage.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.ExplicitDestination; -import com.aspose.pdf.ExplicitDestinationType; -import com.aspose.pdf.FitVExplicitDestination; -import com.aspose.pdf.GoToAction; -import com.aspose.pdf.OutlineItemCollection; -import com.aspose.pdf.facades.PdfContentEditor; -import com.aspose.pdf.facades.ViewerPreference; - -public class BookmarkShouldPointToStartOfPage { - - public static void main(String[] args) { - bookmarkShouldPointToStartOfPage(); - setDestinationWhileCreatingPDF(); - settingViewerPreferences(); - } - - public static void bookmarkShouldPointToStartOfPage() { - String path = "PathToDir"; - Document pdfDocument = new Document(path + "PdfViewerPreference_Changed_out.pdf"); - // Editing existing bookmark - OutlineItemCollection pdfOutline = pdfDocument.getOutlines().get_Item(1); - pdfOutline.setDestination( - // 1st variant new FitVExplicitDestination(pdfDocument.getPages().get_Item(1),0) - // 2nd variant. You can tweak using the bookmark links using different parameters of ExplicitDestinationType - ExplicitDestination.createDestination(pdfDocument.getPages().get_Item(1), ExplicitDestinationType.FitH, new double[] { pdfDocument.getPages().get_Item(1).getMediaBox().getHeight() })); - pdfDocument.save(); - } - - public static void setDestinationWhileCreatingPDF() { - String path = "PathToDir"; - Document pdfDocument = new Document(path + "PdfViewerPreference_Changed_out.pdf"); - OutlineItemCollection pdfOutline_new = new OutlineItemCollection(pdfDocument.getOutlines()); - pdfOutline_new.setTitle("Test bookmark"); - pdfOutline_new.setItalic(true); - pdfOutline_new.setBold(true); - // Set the destination page number and position - pdfOutline_new.setAction(new GoToAction(new FitVExplicitDestination(pdfDocument.getPages().get_Item(2), 0))); - // Add bookmark in the document's outline collection. - pdfDocument.getOutlines().add(pdfOutline_new); - pdfDocument.save(); - } - - public static void settingViewerPreferences() { - String path = "PathToDir"; - PdfContentEditor editor = new PdfContentEditor(); - editor.bindPdf(path + "test.pdf"); - editor.changeViewerPreference(ViewerPreference.PAGE_LAYOUT_SINGLE_PAGE); - editor.save(path + "test_out.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/DeleteBookmarksFromPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/DeleteBookmarksFromPDFDocument.java deleted file mode 100644 index 1b195c9d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/DeleteBookmarksFromPDFDocument.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; - -import com.aspose.pdf.Document; - -public class DeleteBookmarksFromPDFDocument { - - public static void main(String[] args) { - deleteBookmarksFromPDFDocument(); - deleteParticularBookmark(); - } - - public static void deleteBookmarksFromPDFDocument() { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Delete all bookmarks - pdfDocument.getOutlines().delete(); - // Save output - pdfDocument.save("NoBookmarks.pdf"); - } - - public static void deleteParticularBookmark() { - // Open a document - Document pdfDocument = new Document("source.pdf"); - // Delete a specific bookmarks - pdfDocument.getOutlines().delete("Child Outline"); - // Save output - pdfDocument.save("noBookmark.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/ExpandedBookmarksWhenViewingDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/ExpandedBookmarksWhenViewingDocument.java deleted file mode 100644 index 0318fdda..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/ExpandedBookmarksWhenViewingDocument.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.PageMode; - -public class ExpandedBookmarksWhenViewingDocument { - - public static void main(String[] args) { - // create Document instance - Document doc = new Document("BookmarkIssue_8_1_0.pdf"); - // set page view mode i.e. show thumbnails, full-screen, show attachment - // panel - doc.setPageMode(PageMode.UseOutlines); - // print total count of Bookmarks in PDF file - System.out.println(doc.getOutlines().size()); - // traverse through each Outline item in outlines collection of PDF file - for (int counter = 1; counter <= doc.getOutlines().size(); counter++) { - // set open status for outline item - doc.getOutlines().get_Item(counter).setOpen(true); - } - // save the PDF file - doc.save("Bookmarks_Expanded.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/GetBookmarksFromPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/GetBookmarksFromPDFDocument.java deleted file mode 100644 index c1c8e675..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/GetBookmarksFromPDFDocument.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.OutlineItemCollection; -import com.aspose.pdf.facades.Bookmark; -import com.aspose.pdf.facades.Bookmarks; -import com.aspose.pdf.facades.PdfBookmarkEditor; - -public class GetBookmarksFromPDFDocument { - - public static void main(String[] args) { - gettingBookmarks(); - gettingBookmarksPageNumber(); - } - - public static void gettingBookmarks() { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Loop through all the bookmarks - for (OutlineItemCollection outlineItem : (Iterable) pdfDocument.getOutlines()) { - System.out.println("Title :- " + outlineItem.getTitle()); - System.out.println("Is Italic :- " + outlineItem.getItalic()); - System.out.println("Is Bold :- " + outlineItem.getBold()); - System.out.println("Color :- " + outlineItem.getColor()); - } - } - - public static void gettingBookmarksPageNumber() { - // Create PdfBookmarkEditor - PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor(); - // Open PDF file - bookmarkEditor.bindPdf("input.pdf"); - // Extract bookmarks - Bookmarks bookmarks = bookmarkEditor.extractBookmarks(); - for (Bookmark bookmark : (Iterable) bookmarks) { - String strLevelSeprator = ""; - for (int i = 1; i < bookmark.getLevel(); i++) { - strLevelSeprator += "---- "; - } - System.out.println("Title :- " + strLevelSeprator + bookmark.getTitle()); - System.out.println("Page Number :- " + strLevelSeprator + bookmark.getPageNumber()); - System.out.println("Page Action :- " + strLevelSeprator + bookmark.getAction()); - } - } -} \ No newline at end of file diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/UpdateBookmarksInPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/UpdateBookmarksInPDFDocument.java deleted file mode 100644 index 3b9bc213..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Bookmarks/UpdateBookmarksInPDFDocument.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Bookmarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.GoToAction; -import com.aspose.pdf.OutlineItemCollection; - -public class UpdateBookmarksInPDFDocument { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("BookmarkInheritZoom.pdf"); - // Get a bookmark object - OutlineItemCollection pdfOutline = pdfDocument.getOutlines().get_Item(1); - // Set the target page as 10 - pdfOutline.setDestination(new GoToAction(pdfDocument.getPages().get_Item(2))); - // Save output - pdfDocument.save("Bookmarkupdated_output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertEPUBFileToPDFFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertEPUBFileToPDFFormat.java deleted file mode 100644 index 19f21cf5..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertEPUBFileToPDFFormat.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.EpubLoadOptions; - -public class ConvertEPUBFileToPDFFormat { - - public static void main(String[] args) { - // Instantiate LoadOption object using EPUB load option - EpubLoadOptions optionsepub = new EpubLoadOptions(); - // Create Document object - Document docepub = new Document("wasteland.epub", optionsepub); - // Save the resultant PDF document - docepub.save("wasteland.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertHTMLToPDFFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertHTMLToPDFFormat.java deleted file mode 100644 index f5a28655..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertHTMLToPDFFormat.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlLoadOptions; -import com.aspose.pdf.LoadOptions; - -public class ConvertHTMLToPDFFormat { - - public static void main(String[] args) { - settingToNotPullDownRemoteResourcesDuringConversion(); - convertHTMLFileToPDF(); - } - - public static void convertHTMLFileToPDF() { - // Specify the The base path/url for the html file which serves as images database - String basePath = "pdftest"; - HtmlLoadOptions htmloptions = new HtmlLoadOptions(basePath); - // Load HTML file - Document doc = new Document(basePath + "EmailDemo_updated.html", htmloptions); - // Save HTML file - doc.save("Web+URL_output.pdf"); - } - - public static void settingToNotPullDownRemoteResourcesDuringConversion() { - HtmlLoadOptions options = new HtmlLoadOptions(); - options.CustomLoaderOfExternalResources = new LoadOptions.ResourceLoadingStrategy() { - public LoadOptions.ResourceLoadingResult invoke(String resourceURI) { - // Creating clear template resource for replacing: - LoadOptions.ResourceLoadingResult res = new LoadOptions.ResourceLoadingResult(new byte[] {}); - // Return empty byte array in case i.imgur.com server - if (resourceURI.contains("i.imgur.com")) { - return res; - } else { - // Process resources with default resource loader - res.LoadingCancelled = true; - return res; - } - } - }; - // Do conversion - Document pdfDocument = new Document("in.html", options); - pdfDocument.save("out.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPCLToPDFFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPCLToPDFFormat.java deleted file mode 100644 index 8508abc0..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPCLToPDFFormat.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.PclLoadOptions; - -public class ConvertPCLToPDFFormat { - - public static void main(String[] args) { - // Instantiate LoadOption object using PCL load option - PclLoadOptions loadoptions = new PclLoadOptions(); - // Create Document object - Document doc = new Document("Document.pcl", loadoptions); - // Save the resultant PDF document - doc.save("test1-converted.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFFileIntoXPSFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFFileIntoXPSFormat.java deleted file mode 100644 index f7a7259b..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFFileIntoXPSFormat.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.XpsSaveOptions; - -public class ConvertPDFFileIntoXPSFormat { - - public static void main(String[] args) { - // Load PDF document - Document pdfDocument = new Document("input.pdf"); - // Instantiate XPS Save options - XpsSaveOptions saveOptions = new XpsSaveOptions(); - // Save the XPS document - pdfDocument.save("output.xps", saveOptions); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToDOCOrDOCXFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToDOCOrDOCXFormat.java deleted file mode 100644 index 0ef94591..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToDOCOrDOCXFormat.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.DocSaveOptions; -import com.aspose.pdf.Document; -import com.aspose.pdf.SaveFormat; -import com.aspose.pdf.examples.Utils; - -public class ConvertPDFToDOCOrDOCXFormat { - - private static final String dataDir = Utils.getSharedDataDir(ConvertPDFToDOCOrDOCXFormat.class) + "DocumentConversion/"; - - public static void main(String[] args) { - //savingToDoc(); - savingToDOCX(); - //usingTheDocSaveOptionsClass(); - } - - public static void savingToDoc() { - // Open the source PDF document - Document pdfDocument = new Document(dataDir + "SampleDataTable.pdf"); - // Save the file into Microsoft document format - pdfDocument.save(dataDir + "TableHeightIssue.doc", SaveFormat.Doc); - } - - public static void savingToDOCX() { - // Load source PDF file - Document doc = new Document(dataDir + "input.pdf"); - // Instantiate Doc SaveOptions instance - DocSaveOptions saveOptions = new DocSaveOptions(); - // Set output file format as DOCX - saveOptions.setFormat(DocSaveOptions.DocFormat.DocX); - // Save resultant DOCX file - doc.save(dataDir + "resultant.docx", saveOptions); - } - - public static void usingTheDocSaveOptionsClass() { - // Open a document - // Path of input PDF document - String filePath = dataDir + "source.pdf"; - // Instantiate the Document object - Document document = new Document(filePath); - // Create DocSaveOptions object - DocSaveOptions saveOption = new DocSaveOptions(); - // Set the recognition mode as Flow - saveOption.setMode(DocSaveOptions.RecognitionMode.Flow); - // Set the Horizontal proximity as 2.5 - saveOption.setRelativeHorizontalProximity(2.5f); - // Enable the value to recognize bullets during conversion process - saveOption.setRecognizeBullets(true); - // Save the resultant DOC file - document.save(dataDir + "Resultant.doc", saveOption); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToEPUBFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToEPUBFormat.java deleted file mode 100644 index 3d26b453..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToEPUBFormat.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.EpubSaveOptions; - -public class ConvertPDFToEPUBFormat { - - public static void main(String[] args) { - // Load PDF document - Document pdfDocument = new Document("BlueBackground.pdf"); - // Instantiate EPUB Save options - EpubSaveOptions options = new EpubSaveOptions(); - // Specify the layout for contents - options.ContentRecognitionMode = EpubSaveOptions.RecognitionMode.Flow; - // Save the EPUB document - pdfDocument.save("BlueBackground.epub", options); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToExcelWorkbook.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToExcelWorkbook.java deleted file mode 100644 index 9bfae49c..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToExcelWorkbook.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.ExcelSaveOptions; - -public class ConvertPDFToExcelWorkbook { - - public static void main(String[] args) { - // Load PDF document - Document pdfDocument = new Document("LegacyProduct_test.pdf"); - // Instantiate ExcelSave Option object - ExcelSaveOptions excelsave = new ExcelSaveOptions(); - // Save the output to XLS format - pdfDocument.save("ConvertedFile.xls", excelsave); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToPDFAFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToPDFAFormat.java deleted file mode 100644 index d456de0b..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToPDFAFormat.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.ConvertErrorAction; -import com.aspose.pdf.Document; -import com.aspose.pdf.FileSpecification; -import com.aspose.pdf.PdfFormat; - -public class ConvertPDFToPDFAFormat { - - public static void main(String[] args) { - pdfTopdfA1bConversion(); - pdfTopdfA3bConversion(); - pdfTopdfA3aConversion(); - pdfTopdfA2aConversion(); - createPDFA3AndAttachXMLFile(); - } - - public static void pdfTopdfA1bConversion() { - String myDir = "pathToDir"; - // Open document - Document pdfDocument = new Document(myDir + "input.pdf"); - // Convert to PDF/A compliant document - pdfDocument.validate("Validation_log.xml", PdfFormat.PDF_A_1B); - pdfDocument.convert("Conversion_log.xml", PdfFormat.PDF_A_1B, ConvertErrorAction.Delete); - // Save updated document - pdfDocument.save(myDir + "output.pdf"); - } - - public static void pdfTopdfA3bConversion() { - String myDir = "pathToDir"; - // Open document - Document doc = new Document(myDir + "input.pdf"); - // Convert to PDF/A3 compliant document - doc.convert("file.log", PdfFormat.PDF_A_3B, ConvertErrorAction.Delete); - // Save resultant document - doc.save(myDir + "output.pdf"); - } - - public static void pdfTopdfA3aConversion() { - String myDir = "pathToDir"; - // Open document - Document doc = new Document(myDir + "input.pdf"); - // Convert to PDF/A3 compliant document - doc.convert("file.log", PdfFormat.PDF_A_3A, ConvertErrorAction.Delete); - // Save resultant document - doc.save(myDir + "output.pdf"); - } - - public static void pdfTopdfA2aConversion() { - String myDir = "pathToDir"; - // Open document - Document doc = new Document(myDir + "input.pdf"); - // Convert to PDF/A2_a compliant document - doc.convert("file.log", PdfFormat.PDF_A_2A, ConvertErrorAction.Delete); - // Save resultant document - doc.save(myDir + "output.pdf"); - } - - public static void createPDFA3AndAttachXMLFile() { - String myDir = "pathToDir"; - // instantiate Document instance - Document doc = new Document(); - // add page to PDF file - doc.getPages().add(); - // load XML file - FileSpecification fileSpecification = new FileSpecification(myDir + "attachment.xml", "Sample xml file"); - // Add attachment to document's attachment collection - doc.getEmbeddedFiles().add(fileSpecification); - // perform PDF/A_3a conversion - doc.convert(myDir + "log.xml", PdfFormat.PDF_A_3A/* or PDF_A_3B */, ConvertErrorAction.Delete); - // save final PDF file - doc.save(myDir + "attached_PDFA_3A.pdf"); - } -} \ No newline at end of file diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToPPTX.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToPPTX.java deleted file mode 100644 index fc02ee74..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToPPTX.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.PptxSaveOptions; - -public class ConvertPDFToPPTX { - - public static void main(String[] args) { - // Load PDF document - Document doc = new Document("input.pdf"); - // Instantiate PptxSaveOptions instance - PptxSaveOptions pptx_save = new PptxSaveOptions(); - // Save the output in PPTX format - doc.save("output.pptx", pptx_save); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToSVGFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToSVGFormat.java deleted file mode 100644 index de2a520a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToSVGFormat.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.SvgSaveOptions; - -public class ConvertPDFToSVGFormat { - - public static void main(String[] args) { - // load PDF document - Document doc = new Document("Input.pdf"); - // instantiate an object of SvgSaveOptions - SvgSaveOptions saveOptions = new SvgSaveOptions(); - // do not compress SVG image to Zip archive - saveOptions.CompressOutputToZipArchive = false; - // resultant file name - String outFileName = "Output.svg"; - // save the output in SVG files - doc.save(outFileName, saveOptions); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToXML.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToXML.java deleted file mode 100644 index b84938ae..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPDFToXML.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.SaveFormat; - -public class ConvertPDFToXML { - - public static void main(String[] args) { - // instantiate Document object - Document doc = new Document("input.pdf"); - // save the output in XML format - doc.save("resultant.xml", SaveFormat.Xml); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPostScriptFileToPDFFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPostScriptFileToPDFFormat.java deleted file mode 100644 index 322a2dc3..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertPostScriptFileToPDFFormat.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.EpubLoadOptions; - -public class ConvertPostScriptFileToPDFFormat { - - public static void main(String[] args) { - // Create a new instance of PsLoadOptions - com.aspose.pdf.LoadOptions options = new com.aspose.pdf.PsLoadOptions(); - // Open .ps document with created load options - Document pdfDocument = new Document("input.ps", options); - // Save document - pdfDocument.save("PSToPDF_out.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertSVGFileToPDFFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertSVGFileToPDFFormat.java deleted file mode 100644 index d0f17c48..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertSVGFileToPDFFormat.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.LoadOptions; -import com.aspose.pdf.SvgLoadOptions; - -public class ConvertSVGFileToPDFFormat { - - public static void main(String[] args) { - String file = "Document.svg"; - // Instantiate LoadOption object using SVG load option - LoadOptions options = new SvgLoadOptions(); - // Create Document object - Document document = new Document(file, options); - // Save the resultant PDF document - document.save("Result.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertTextFileToPDFFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertTextFileToPDFFormat.java deleted file mode 100644 index dea7c98d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertTextFileToPDFFormat.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import java.io.FileNotFoundException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextFragment; - -public class ConvertTextFileToPDFFormat { - - public static void main(String[] args) throws FileNotFoundException { - // Source PDF file - java.io.File file = new java.io.File("AsposeDocument.txt"); - java.io.FileInputStream fis = new java.io.FileInputStream(file); - // System.out.println(file.exists() + "!!"); - // InputStream in = resource.openStream(); - java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); - byte[] buf = new byte[1024]; - try { - for (int readNum; (readNum = fis.read(buf)) != -1;) { - bos.write(buf, 0, readNum); // no doubt here is 0 - // Writes len bytes from the specified byte array starting at offset off to this byte array output stream. - System.out.println("read " + readNum + " bytes,"); - } - } catch (java.io.IOException ex) { - } - byte[] bytes = bos.toByteArray(); - java.io.ByteArrayInputStream srcStream = new java.io.ByteArrayInputStream(bytes); - java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(srcStream)); - String line; - StringBuilder builder = new StringBuilder(5024); - try { - while ((line = reader.readLine()) != null) { - builder.append(line); - } - } catch (java.io.IOException e) { - } finally { - try { - reader.close(); - } catch (java.io.IOException e) { - } - // Instantiate a Document object by calling its empty constructor - Document doc = new Document(); - // Add a new page in Pages collection of Document - Page page = doc.getPages().add(); - // Create an instance of TextFragmet and pass the text from reader object to its constructor as argument - TextFragment text = new TextFragment(builder.toString()); - // text.TextState.Font = FontRepository.FindFont("Arial Unicode MS"); - // Add a new text paragraph in paragraphs collection and pass the TextFragment object - page.getParagraphs().add(text); - // Save resultant PDF file - doc.save("TExtFile_TexttoPDF.pdf"); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXMLFileToPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXMLFileToPDF.java deleted file mode 100644 index a608545a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXMLFileToPDF.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextSegment; - -public class ConvertXMLFileToPDF { - - public static void main(String[] args) { - // instantiate Document object - Document doc = new Document(); - // bind source XML file - doc.bindXml("Source.xml"); - // get reference of page object from XML - Page page = (Page) doc.getObjectById("mainSection"); - // get reference of first TextSegment with ID boldHtml - TextSegment segment = (TextSegment) doc.getObjectById("boldHtml"); - // get reference of second TextSegment with ID strongHtml - segment = (TextSegment) doc.getObjectById("strongHtml"); - // update TextSegement text - segment.setText("TestSegment"); - // save resultant PDF file - doc.save("Resultant.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXPSFileToPDFFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXPSFileToPDFFormat.java deleted file mode 100644 index 6b0249a7..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXPSFileToPDFFormat.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.LoadOptions; -import com.aspose.pdf.XpsLoadOptions; - -public class ConvertXPSFileToPDFFormat { - - public static void main(String[] args) { - // Instantiate LoadOption object using XPS load option - LoadOptions options = new XpsLoadOptions(); - // Create document object - Document document = new Document("printoutput.xps", options); - // Save the resultant PDF document - document.save("resultant.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXSLFOToPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXSLFOToPDF.java deleted file mode 100644 index 4e132a38..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/ConvertXSLFOToPDF.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.XslFoLoadOptions; - -public class ConvertXSLFOToPDF { - - public static void main(String[] args) { - // Instantiate XSLFO load options instance - XslFoLoadOptions xslLoadOptions = new XslFoLoadOptions(); - // Open document - Document doc = new Document("samplefile.fo", xslLoadOptions); - // Save PDF document - doc.save("XSL_FO.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/DefaultFontWhenSpecificFontMissing.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/DefaultFontWhenSpecificFontMissing.java deleted file mode 100644 index d757c113..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/DefaultFontWhenSpecificFontMissing.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Font; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.HtmlSaveOptions; -import com.aspose.pdf.text.CustomFontSubstitutionBase; - -public class DefaultFontWhenSpecificFontMissing { - - public static void main(String[] args) { - String myDir = "PathToDir"; - Document pdf = new Document(myDir + "Redis.pdf"); - // configure font substitution - CustomSubst1 subst1 = new CustomSubst1(); - FontRepository.getSubstitutions().add(subst1); - // Configure notifier to console - pdf.FontSubstitution.add(new Document.FontSubstitutionHandler() { - public void invoke(Font font, Font newFont) { - // print substituted FontNames into console - System.out.println("Warning: Font " + font.getFontName() + " was substituted with another font -> " + newFont.getFontName()); - } - }); - HtmlSaveOptions htmlSaveOps = new HtmlSaveOptions(); - pdf.save(myDir + "Redis_1150_substitutedWithMSGothic_release.html", htmlSaveOps); - } - /** - * The class to implement font substitution - */ - private static class CustomSubst1 extends CustomFontSubstitutionBase { - public boolean trySubstitute(OriginalFontSpecification originalFontSpecification, /* out */com.aspose.pdf.Font[] substitutionFont) { - // 1. substitute Arial font with TimesNewRoman font - // if - // ("Arial".equals(originalFontSpecification.getOriginalFontName())) - // { - // substitutionFont[0] = - // FontRepository.findFont("TimesNewRoman"); - // return true; - // } - // else - // return super.trySubstitute(originalFontSpecification, /*out*/ - // substitutionFont); - // 2. or substitute all the fonts with the MSGothic font - substitutionFont[0] = FontRepository.findFont("MSGothic"); - return true; - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/EscapeHTMLTagsAndSpecialCharacters.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/EscapeHTMLTagsAndSpecialCharacters.java deleted file mode 100644 index 4f4d933d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/EscapeHTMLTagsAndSpecialCharacters.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; - -public class EscapeHTMLTagsAndSpecialCharacters { - - public static void main(String[] args) { - // input HTML - String HTML = "< b >BIG TEXT< /b>< ol>SOME VALUE< /ol>< li >item1< /li >< li >item2 & 3 < /li >< /ol >"; - // CSS for input HTML contents - String CSS = " *{font-weight : normal !important ; margin :0 !important ; padding:0 !important ; list-style-type:none !important}"; - // instantiate Document instance - Document doc = new Document(); - // add page to pages collection of Document object - Page page = doc.getPages().add(); - // add HTMLFragment to paragraphs collection of PDF page - page.getParagraphs().add(new com.aspose.pdf.HtmlFragment(CSS + HTML)); - // save resultant PDF file - doc.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/GetWarningForFontSubstitution.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/GetWarningForFontSubstitution.java deleted file mode 100644 index 516a718b..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/GetWarningForFontSubstitution.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import java.util.HashMap; -import java.util.Map; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Font; -import com.aspose.pdf.HtmlSaveOptions; - -public class GetWarningForFontSubstitution { - - public static void main(String[] args) { - // Load existing PDf file - Document pdfDoc = new Document("input.pdf"); - final Map names = new HashMap(); - pdfDoc.FontSubstitution.add(new Document.FontSubstitutionHandler() { - public void invoke(Font font, Font newFont) { - // add substituted FontNames into map. - names.put(font.getFontName(), newFont.getFontName()); - // or print the message into console - System.out.println("Warning: Font " + font.getFontName() + " was substituted with another font -> " + newFont.getFontName()); - } - }); - // instantiate HTMLSave option to save output in HTML - HtmlSaveOptions htmlSaveOps = new HtmlSaveOptions(); - // save resultant file - pdfDoc.save("output.html", htmlSaveOps); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToEMF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToEMF.java deleted file mode 100644 index 0795e277..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToEMF.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.devices.EmfDevice; -import com.aspose.pdf.devices.Resolution; - -public class PDFToEMF { - - public static void main(String[] args) { - // instantiate EmfDevice object - EmfDevice device = new EmfDevice(new Resolution(96)); - // load existing PDF file - Document doc = new Document("Input.pdf"); - // save first page of PDF file as Emf image - device.process(doc.getPages().get_Item(1), "output.emf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLAllResourceEmbeddedInSingleResultantStream.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLAllResourceEmbeddedInSingleResultantStream.java deleted file mode 100644 index 35706fa0..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLAllResourceEmbeddedInSingleResultantStream.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlSaveOptions; -import com.aspose.pdf.LettersPositioningMethods; -import java.util.logging.Level; -import java.util.logging.Logger; - -public class PDFToHTMLAllResourceEmbeddedInSingleResultantStream { - - public static void main(String[] args) { - Document doc = new Document("Input.pdf"); - // tune conversion parameters - HtmlSaveOptions newOptions = new HtmlSaveOptions(); - newOptions.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground; - newOptions.FontSavingMode = HtmlSaveOptions.FontSavingModes.SaveInAllFormats; - newOptions.PartsEmbeddingMode = HtmlSaveOptions.PartsEmbeddingModes.EmbedAllIntoHtml; - newOptions.LettersPositioningMethod = LettersPositioningMethods.UseEmUnitsAndCompensationOfRoundingErrorsInCss; - newOptions.setSplitIntoPages(false);// force write HTMLs of all pages into one output document - newOptions.CustomHtmlSavingStrategy = new HtmlSaveOptions.HtmlPageMarkupSavingStrategy() { - public void invoke(HtmlSaveOptions.HtmlPageMarkupSavingInfo htmlSavingInfo) { - try { - // TODO Auto-generated method stub - byte[] resultHtmlAsBytes = new byte[(int) htmlSavingInfo.ContentStream.available()]; - htmlSavingInfo.ContentStream.read(resultHtmlAsBytes, 0, resultHtmlAsBytes.length); - // here You can use any writable stream, file stream is taken just as example - FileOutputStream fos; - try { - fos = new FileOutputStream("PDFtoHTML.html"); - fos.write(resultHtmlAsBytes); - fos.close(); - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } catch (IOException ex) { - Logger.getLogger(PDFToHTMLAllResourceEmbeddedInSingleResultantStream.class.getName()).log(Level.SEVERE, null, ex); - } - } - }; - // we can use some non-existing file name all real saving will be done in CustomerHtmlSavingStrategy - String outHtmlFile = "SomeUnexistingFile.html"; - doc.save(outHtmlFile, newOptions); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLAvoidSavingImagesInSVGFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLAvoidSavingImagesInSVGFormat.java deleted file mode 100644 index bf6f2688..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLAvoidSavingImagesInSVGFormat.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlSaveOptions; - -public class PDFToHTMLAvoidSavingImagesInSVGFormat { - - public static void main(String[] args) { - // Open source PDF document - Document pdfDocument = new Document("input.pdf"); - String outHtmlFile = "resultant.html"; - // Create HtmlSaveOption with tested feature - HtmlSaveOptions saveOptions = new HtmlSaveOptions(); - saveOptions.setFixedLayout(true); - // save images in PNG format instead of SVG - saveOptions.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground; - // save output as HTML - pdfDocument.save(outHtmlFile, saveOptions); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLRenderPDFDataLayersAsSeparateHTMLLayerElement.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLRenderPDFDataLayersAsSeparateHTMLLayerElement.java deleted file mode 100644 index 8142a80f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLRenderPDFDataLayersAsSeparateHTMLLayerElement.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlSaveOptions; -import com.aspose.pdf.examples.Utils; - -public class PDFToHTMLRenderPDFDataLayersAsSeparateHTMLLayerElement { - - public static void main(String[] args) { - // The path to the resource directory. - String dataDir = Utils.getSharedDataDir(PDFToHTMLRenderPDFDataLayersAsSeparateHTMLLayerElement.class) + "PDFToHTML/"; - // Open the PDF file - Document doc = new Document(dataDir + "input.pdf"); - // Instantiate HTML SaveOptions object - HtmlSaveOptions htmlOptions = new HtmlSaveOptions(); - // Specify to render PDF document layers separately in output HTML - htmlOptions.setConvertMarkedContentToLayers(true); - // Save the document - doc.save(dataDir + "output.html", htmlOptions); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSingleHTMLWithAllResourcesEmbedded.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSingleHTMLWithAllResourcesEmbedded.java deleted file mode 100644 index 5daeb702..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSingleHTMLWithAllResourcesEmbedded.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlSaveOptions; -import com.aspose.pdf.LettersPositioningMethods; - -public class PDFToHTMLSingleHTMLWithAllResourcesEmbedded { - - public static void main(String[] args) { - // Load source PDF file - Document doc = new Document("input.pdf"); - // Instantiate HTML Save options object - HtmlSaveOptions newOptions = new HtmlSaveOptions(); - // Enable option to embed all resources inside the HTML - newOptions.PartsEmbeddingMode = HtmlSaveOptions.PartsEmbeddingModes.EmbedAllIntoHtml; - // This is just optimization for IE and can be omitted - newOptions.LettersPositioningMethod = LettersPositioningMethods.UseEmUnitsAndCompensationOfRoundingErrorsInCss; - newOptions.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground; - newOptions.FontSavingMode = HtmlSaveOptions.FontSavingModes.SaveInAllFormats; - // Output file path - String outHtmlFile = "Single_output.html"; - // Save the output file - doc.save(outHtmlFile, newOptions); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSpecifyImagesFolder.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSpecifyImagesFolder.java deleted file mode 100644 index be38cbb7..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSpecifyImagesFolder.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlSaveOptions; - -public class PDFToHTMLSpecifyImagesFolder { - - public static void main(String[] args) { - // Load PDF document - Document pdfDocument = new Document("input.pdf"); - // Instantiate HtmlSaveOptions instance - HtmlSaveOptions saveOptions = new HtmlSaveOptions(); - // Specify the folder to save images during conversion process - // Save the resultant HTML file - pdfDocument.save("resultant.html", saveOptions); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSplittingOutputToMultipageHTML.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSplittingOutputToMultipageHTML.java deleted file mode 100644 index eb5ababf..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentConversion/PDFToHTMLSplittingOutputToMultipageHTML.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentConversion; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlSaveOptions; - -public class PDFToHTMLSplittingOutputToMultipageHTML { - - public static void main(String[] args) { - // Load PDF document - Document doc = new Document("source.pdf"); - // Instantiate HtmlSaveOptions instance - HtmlSaveOptions html = new HtmlSaveOptions(); - // Specify the folder to save images during conversion process - html.setSplitIntoPages(true); - // Save the resultant HTML file - doc.save("resultant.html", html); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddLayersToPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddLayersToPDFFile.java deleted file mode 100644 index 28a38bde..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddLayersToPDFFile.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import java.util.ArrayList; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Layer; -import com.aspose.pdf.Operator; -import com.aspose.pdf.Page; - -public class AddLayersToPDFFile { - - public static void main(String[] args) { - - Document doc = new Document(); - Page page = doc.getPages().add(); - Layer layer = new Layer("oc1", "Red Line"); - layer.getContents().add(new Operator.SetRGBColorStroke(1, 0, 0)); - layer.getContents().add(new Operator.MoveTo(500, 700)); - layer.getContents().add(new Operator.LineTo(400, 700)); - layer.getContents().add(new Operator.Stroke()); - page.setLayers(new ArrayList()); - page.getLayers().add(layer); - layer = new Layer("oc2", "Green Line"); - layer.getContents().add(new Operator.SetRGBColorStroke(0, 1, 0)); - layer.getContents().add(new Operator.MoveTo(500, 750)); - layer.getContents().add(new Operator.LineTo(400, 750)); - layer.getContents().add(new Operator.Stroke()); - page.getLayers().add(layer); - layer = new Layer("oc3", "Blue Line"); - layer.getContents().add(new Operator.SetRGBColorStroke(0, 0, 1)); - layer.getContents().add(new Operator.MoveTo(500, 800)); - layer.getContents().add(new Operator.LineTo(400, 800)); - layer.getContents().add(new Operator.Stroke()); - page.getLayers().add(layer); - doc.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddTOCToExistingPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddTOCToExistingPDF.java deleted file mode 100644 index 5c547fa5..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddTOCToExistingPDF.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FontStyles; -import com.aspose.pdf.Heading; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextSegment; -import com.aspose.pdf.TocInfo; - -public class AddTOCToExistingPDF { - - public static void main(String[] args) { - // Load an existing PDF files - Document doc = new Document("source.pdf"); - // Get access to first page of PDF file - Page tocPage = doc.getPages().insert(1); - // Create object to represent TOC information - TocInfo tocInfo = new TocInfo(); - TextFragment title = new TextFragment("Table Of Contents"); - title.getTextState().setFontSize(20); - title.getTextState().setFontStyle(FontStyles.Bold); - // Set the title for TOC - tocInfo.setTitle(title); - tocPage.setTocInfo(tocInfo); - // Create string objects which will be used as TOC elements - String[] titles = new String[4]; - titles[0] = "First page"; - titles[1] = "Second page"; - titles[2] = "Third page"; - titles[3] = "Fourth page"; - for (int i = 0; i < 4; i++) { - // Create Heading object - Heading heading2 = new Heading(1); - TextSegment segment2 = new TextSegment(); - heading2.setTocPage(tocPage); - heading2.getSegments().add(segment2); - // Specify the destination page for heading object - heading2.setDestinationPage(doc.getPages().get_Item(i + 2)); - // Destination page - heading2.setTop(doc.getPages().get_Item(i + 2).getRect().getHeight()); - // Destination coordinate - segment2.setText(titles[i]); - // Add heading to page containing TOC - tocPage.getParagraphs().add(heading2); - } - // Save the updated document - doc.save("TOC_Output_Java.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddingJavaScriptDOM.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddingJavaScriptDOM.java deleted file mode 100644 index 07215c97..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/AddingJavaScriptDOM.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.JavascriptAction; -import com.aspose.pdf.TextBoxField; - -public class AddingJavaScriptDOM { - - public static void main(String[] args) { - addingJavaScriptDOM(); - afterPrintingAndSaving(); - addFormattingCodeAndValueValidation(); - } - - public static void addingJavaScriptDOM() { - // Open a PDF Document - Document doc = new Document("inuput.pdf"); - // Adding JavaScript at Document Level - // Instantiate JavascriptAction with desired JavaScript statement - JavascriptAction javaScript = new JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});"); - // Assign JavascriptAction object to desired action of Document - doc.setOpenAction(javaScript); - // Adding JavaScript at Page Level - doc.getPages().get_Item(2).getActions().setOnOpen(new JavascriptAction("app.alert('page 2 is opened')")); - doc.getPages().get_Item(2).getActions().setOnClose(new JavascriptAction("app.alert('page 2 is closed')")); - // Save PDF Document - doc.save("JavaScript-Added.pdf"); - } - - public static void addFormattingCodeAndValueValidation() { - String path = "pathTodir"; - Document doc = new Document(path + "PdfWithAcroForm.pdf"); - TextBoxField text = (TextBoxField) doc.getForm().get_Item("textField"); - text.getAnnotationActions().setOnFormat(new JavascriptAction("AFNumber_Format(2, 0, 0, \"\", true);")); - text.getAnnotationActions().setOnModifyCharacter(new JavascriptAction("AFNumber_Keystroke(2, 0, 0, \"\", true);")); - text.getAnnotationActions().setOnValidate(new JavascriptAction("AFRange_Validate(true, 1, true, 100);")); - text.setValue("100"); - doc.save(path + "formatted.pdf"); - } - - public static void afterPrintingAndSaving() { - // Open a PDF Document - Document document = new Document("inuput.pdf"); - // Printing - document.getActions().setAfterPrinting(new JavascriptAction("app.alert('File was printed')")); - // Saving - document.getActions().setAfterSaving(new JavascriptAction("app.alert('File was Saved')")); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ConvertPDFFromRGBColorspaceToGrayscale.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ConvertPDFFromRGBColorspaceToGrayscale.java deleted file mode 100644 index 9494795e..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ConvertPDFFromRGBColorspaceToGrayscale.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.RgbToDeviceGrayConversionStrategy; - -public class ConvertPDFFromRGBColorspaceToGrayscale { - - public static void main(String[] args) { - Document document = new Document("input.pdf"); - RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy(); - for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) { - Page page = document.getPages().get_Item(idxPage); - strategy.convert(page); - } - document.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ConvertingNonSearchablePDFToSearchablePDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ConvertingNonSearchablePDFToSearchablePDFDocument.java deleted file mode 100644 index be734639..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ConvertingNonSearchablePDFToSearchablePDFDocument.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Scanner; - -import javax.imageio.ImageIO; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Document.CallBackGetHocr; - -public class ConvertingNonSearchablePDFToSearchablePDFDocument { - - public static void main(String[] args) { - final String myDir = "PathToDir"; - Document doc = new Document(myDir + "outFile.pdf"); - // Create callBack - logic recognize text for pdf images. Use outer OCR supports HOCR standard(http://en.wikipedia.org/wiki/HOCR). - // We have used free google tesseract OCR(http://en.wikipedia.org/wiki/Tesseract_%28software%29) - CallBackGetHocr cbgh = new CallBackGetHocr() { - @Override - public String invoke(java.awt.image.BufferedImage img) { - File outputfile = new File(myDir + "test.jpg"); - try { - ImageIO.write(img, "jpg", outputfile); - } catch (IOException e1) { - e1.printStackTrace(); - } - try { - java.lang.Process process = Runtime.getRuntime().exec("tesseract" + " " + myDir + "test.jpg" + " " + myDir + "out hocr"); - System.out.println("tesseract" + " " + myDir + "test.jpg" + " " + myDir + "out hocr"); - process.waitFor(); - - } catch (IOException e) { - e.printStackTrace(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - // reading out.html to string - File file = new File(myDir + "out.html"); - StringBuilder fileContents = new StringBuilder((int) file.length()); - Scanner scanner = null; - try { - scanner = new Scanner(file); - String lineSeparator = System.getProperty("line.separator"); - while (scanner.hasNextLine()) { - fileContents.append(scanner.nextLine() + lineSeparator); - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } finally { - if (scanner != null) - scanner.close(); - } - // deleting temp files - File fileOut = new File(myDir + "out.html"); - if (fileOut.exists()) { - fileOut.delete(); - } - File fileTest = new File(myDir + "test.jpg"); - if (fileTest.exists()) { - fileTest.delete(); - } - return fileContents.toString(); - } - }; - // End callBack - - doc.convert(cbgh); - doc.save(myDir + "output971.pdf"); - } -} \ No newline at end of file diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/EmbeddingFontsInExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/EmbeddingFontsInExistingPDFFile.java deleted file mode 100644 index cfeb20e0..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/EmbeddingFontsInExistingPDFFile.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Font; -import com.aspose.pdf.Page; -import com.aspose.pdf.XForm; - -public class EmbeddingFontsInExistingPDFFile { - - public static void main(String[] args) { - // Open the document - Document doc = new Document("input.pdf"); - // Iterate through all the pages - for (Page page : (Iterable) doc.getPages()) { - if (page.getResources().getFonts() != null) { - for (Font pageFont : (Iterable) page.getResources().getFonts()) { - // Check if font is already embedded - if (!pageFont.isEmbedded()) - pageFont.setEmbedded(true); - } - } - // Check for the Form objects - for (XForm form : (Iterable) page.getResources().getForms()) { - if (form.getResources().getFonts() != null) { - for (Font formFont : (Iterable) form.getResources().getFonts()) { - // Check if the font is embedded - if (!formFont.isEmbedded()) - formFont.setEmbedded(true); - } - } - } - } - // Save the document - doc.save("FontEmbedded_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/EmbeddingFontsWhileCreatingPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/EmbeddingFontsWhileCreatingPDF.java deleted file mode 100644 index 84ccbc04..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/EmbeddingFontsWhileCreatingPDF.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextSegment; -import com.aspose.pdf.TextState; - -public class EmbeddingFontsWhileCreatingPDF { - - public static void main(String[] args) { - - String outFile = "EmbedFonts.pdf"; - // Instantiate Pdf object by calling its empty constructor - Document doc = new Document(); - // Create a section in the Pdf object - Page page = doc.getPages().add(); - TextFragment fragment = new TextFragment(""); - TextSegment segment = new TextSegment(" This is a sample text using Custom font."); - TextState ts = new TextState(); - ts.setFont(FontRepository.findFont("Univers Condensed")); - ts.getFont().setEmbedded(true); - segment.setTextState(ts); - fragment.getSegments().add(segment); - page.getParagraphs().add(fragment); - doc.save(outFile); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ExtractFilesFromPDFPortfolio.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ExtractFilesFromPDFPortfolio.java deleted file mode 100644 index f01c6fc2..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ExtractFilesFromPDFPortfolio.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; - -import com.aspose.pdf.Document; -import com.aspose.pdf.EmbeddedFileCollection; - -public class ExtractFilesFromPDFPortfolio { - - public static void main(String[] args) { - extractFilesFromPDFPortfolio(); - toDeletePDFPortfolioFile(); - } - - public static void extractFilesFromPDFPortfolio() { - // load source PDF Portfolio - Document pdfDocument = new Document("Portfolio_output.pdf"); - // get collection of embedded files - EmbeddedFileCollection embeddedFiles = pdfDocument.getEmbeddedFiles(); - // iterate through individual file of Portfolio - for (int counter = 1; counter <= pdfDocument.getEmbeddedFiles().size(); counter++) { - com.aspose.pdf.FileSpecification fileSpecification = embeddedFiles.get_Item(counter); - try { - InputStream input = fileSpecification.getContents(); - File file = new File(fileSpecification.getName()); - // create path for file from pdf - file.getParentFile().mkdirs(); - // create and extract file from pdf - java.io.FileOutputStream output = new java.io.FileOutputStream(fileSpecification.getName(), true); - byte[] buffer = new byte[4096]; - int n = 0; - while (-1 != (n = input.read(buffer))) - output.write(buffer, 0, n); - - // close InputStream object - input.close(); - output.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - public static void toDeletePDFPortfolioFile() { - // load source PDF Portfolio - Document pdfDocument = new Document("Portfolio_output.pdf"); - // delete all files from Embedded files collection - pdfDocument.getEmbeddedFiles().delete(); - // save updated document - pdfDocument.save("NotFolio.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetDocumentWindowAndPageDisplayProperties.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetDocumentWindowAndPageDisplayProperties.java deleted file mode 100644 index c3459f5b..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetDocumentWindowAndPageDisplayProperties.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; - -public class GetDocumentWindowAndPageDisplayProperties { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("Original.pdf"); - // Get different document properties - // Position of document's window - Default: false - System.out.printf("CenterWindow :- " + pdfDocument.getCenterWindow()); - // Predominant reading order; determine the position of page when displayed side by side - Default: L2R - System.out.printf("Direction :- " + pdfDocument.getDirection()); - // Whether window's title bar should display document title. - // If false, title bar displays PDF file name - Default: false - System.out.printf("DisplayDocTitle :- " + pdfDocument.getDisplayDocTitle()); - // Whether to resize the document's window to fit the size of first displayed page - Default: false - System.out.printf("FitWindow :- " + pdfDocument.getFitWindow()); - // Whether to hide menu bar of the viewer application - Default: false - System.out.printf("HideMenuBar :-" + pdfDocument.getHideMenubar()); - // Whether to hide tool bar of the viewer application - Default: false - System.out.printf("HideToolBar :-" + pdfDocument.getHideToolBar()); - // Whether to hide UI elements like scroll bars and leaving only the page contents displayed - Default: false - System.out.printf("HideWindowUI :-" + pdfDocument.getHideWindowUI()); - // The document's page mode. How to display document on exiting full-screen mode. - System.out.printf("NonFullScreenPageMode :-" + pdfDocument.getNonFullScreenPageMode()); - // The page layout i.e. single page, one column - System.out.printf("PageLayout :-" + pdfDocument.getPageLayout()); - // How the document should display when opened. - System.out.printf("pageMode :-" + pdfDocument.getPageMode()); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetPDFFileInformation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetPDFFileInformation.java deleted file mode 100644 index 06e71417..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetPDFFileInformation.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.DocumentInfo; - -public class GetPDFFileInformation { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("Original.pdf"); - // Get document information - DocumentInfo docInfo = pdfDocument.getInfo(); - // Show document information - System.out.printf("Author:-" + docInfo.getAuthor()); - System.out.printf("\n Creation Date:-" + docInfo.getCreationDate()); - System.out.printf("\n Keywords:-" + docInfo.getKeywords()); - System.out.printf("\n Modify Date:-" + docInfo.getModDate()); - System.out.printf("\n Subject:-" + docInfo.getSubject()); - System.out.printf("\n Title:-" + docInfo.getTitle()); - - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetSetZoomFactorOfPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetSetZoomFactorOfPDFFile.java deleted file mode 100644 index 132a4da3..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetSetZoomFactorOfPDFFile.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FitHExplicitDestination; -import com.aspose.pdf.FitVExplicitDestination; -import com.aspose.pdf.GoToAction; -import com.aspose.pdf.XYZExplicitDestination; - -public class GetSetZoomFactorOfPDFFile { - - public static void main(String[] args) { - getSetZoomFactorOfPDFFile(); - getZoomFactor(); - } - - public static void getSetZoomFactorOfPDFFile() { - String myDir = "pathTodir"; - double zoom = .5; - // instantiate new Document object - Document doc = new Document(myDir + "HelloWorld.pdf"); - // setting zoom factor of document - GoToAction actionzoom = new GoToAction(new XYZExplicitDestination(doc.getPages().get_Item(1), doc.getPages().get_Item(1).getMediaBox().getWidth(), doc.getPages().get_Item(1).getMediaBox().getHeight(), zoom)); - // setting action to fit to page width zoom - GoToAction actionFittoWidth = new GoToAction(new FitHExplicitDestination(doc.getPages().get_Item(1), doc.getPages().get_Item(1).getMediaBox().getWidth())); - // setting action to fit to page height zoom - GoToAction actionFittoHeight = new GoToAction(new FitVExplicitDestination(doc.getPages().get_Item(1), doc.getPages().get_Item(1).getMediaBox().getHeight())); - doc.setOpenAction(actionzoom); - doc.save(myDir + "Zoomed_actionzoom.pdf"); - } - - public static void getZoomFactor() { - String myDir = "pathTodir"; - // Instantiate new Document object - Document doc1 = new Document(myDir + "Zoomed_actionzoom.pdf"); - // Create GoToAction object - GoToAction action = (GoToAction) doc1.getOpenAction(); - // Get the Zoom factor of PDF file - System.out.println(((XYZExplicitDestination) action.getDestination()).getZoom()); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetXMPMetadataFromPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetXMPMetadataFromPDFFile.java deleted file mode 100644 index 8919f0b8..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/GetXMPMetadataFromPDFFile.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; - -public class GetXMPMetadataFromPDFFile { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Get properties - System.out.println("xmp:CreateDate: " + pdfDocument.getMetadata().get_Item("xmp:CreateDate")); - System.out.println("xmp:Nickname: " + pdfDocument.getMetadata().get_Item("xmp:Nickname")); - System.out.println("xmp:CustomProperty: " + pdfDocument.getMetadata().get_Item("xmp:CustomProperty")); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/OptimizePDFDocumentForWeb.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/OptimizePDFDocumentForWeb.java deleted file mode 100644 index 35a979dc..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/OptimizePDFDocumentForWeb.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; - -public class OptimizePDFDocumentForWeb { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("Original.pdf"); - // Optimize for web - pdfDocument.optimize(); - // Save output document - pdfDocument.save("Optimized_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/OptimizePDFFileSize.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/OptimizePDFFileSize.java deleted file mode 100644 index e6ac289f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/OptimizePDFFileSize.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; - -public class OptimizePDFFileSize { - - public static void main(String[] args) { - removeUnnecessaryObjects(); - compressingPDFWithImages(); - } - - public static void removeUnnecessaryObjects() { - // Load source PDF file - Document doc = new Document("source.pdf"); - // Optimize the file size by removing unused objects - Document.OptimizationOptions opt = new Document.OptimizationOptions(); - opt.setRemoveUnusedObjects(true); - opt.setRemoveUnusedStreams(true); - opt.setLinkDuplcateStreams(true); - doc.optimizeResources(opt); - // Save the updated file - doc.save("optimized.pdf"); - } - - public static void compressingPDFWithImages() { - // Load source PDF file - Document doc = new Document("input.htm"); - Document.OptimizationOptions opt = new Document.OptimizationOptions(); - opt.setRemoveUnusedObjects(false); - opt.setLinkDuplcateStreams(false); - opt.setRemoveUnusedStreams(false); - // Enable image compression - opt.setCompressImages(true); - // Set the quality of images in PDF file - opt.setImageQuality(10); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/RemoveMetadataFromPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/RemoveMetadataFromPDF.java deleted file mode 100644 index f1a12724..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/RemoveMetadataFromPDF.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; - -public class RemoveMetadataFromPDF { - - public static void main(String[] args) { - // Instantiate Document object - Document doc = new Document("testFile.pdf"); - if (doc.getMetadata().contains("pdfaid:part")) - doc.getMetadata().removeItem("pdfaid:part"); - if (doc.getMetadata().contains("dc:format")) - doc.getMetadata().removeItem("dc:format"); - // Save updated document - doc.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetDocumentWindowAndPageDisplayProperties.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetDocumentWindowAndPageDisplayProperties.java deleted file mode 100644 index e52d4dd5..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetDocumentWindowAndPageDisplayProperties.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Direction; -import com.aspose.pdf.Document; -import com.aspose.pdf.PageLayout; -import com.aspose.pdf.PageMode; - -public class SetDocumentWindowAndPageDisplayProperties { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("Original.pdf"); - // Set different document properties specify to position document's window - Default: false - pdfDocument.setCenterWindow(true); - // Predominant reading order; determine the position of page when displayed side by side - Default: L2R - pdfDocument.setDirection(Direction.R2L); - // Specify whether window's title bar should display document title if false, title bar displays PDF file name - Default: false - pdfDocument.setDisplayDocTitle(true); - // Specify whether to resize the document's window to fit the size of first displayed page - Default: false - pdfDocument.setFitWindow(true); - // Specify whether to hide menu bar of the viewer application - Default: false - pdfDocument.setHideMenubar(true); - // Specify whether to hide tool bar of the viewer application - Default: false - pdfDocument.setHideToolBar(true); - // Specify whether to hide UI elements like scroll bars and leaving only the page contents displayed - Default: false - pdfDocument.setHideWindowUI(true); - // Document's page mode. specify how to display document on exiting full-screen mode. - pdfDocument.setNonFullScreenPageMode(PageMode.UseOC); - // Specify the page layout i.e. single page, one column - pdfDocument.setPageLayout(PageLayout.TwoColumnLeft); - // Specify how the document should display when opened i.e. show thumbnails, full-screen, show attachment panel - pdfDocument.setPageMode(PageMode.UseThumbs); - // Save updated PDF file - pdfDocument.save("UpdatedFile_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetPDFExpiration.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetPDFExpiration.java deleted file mode 100644 index 65fc9792..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetPDFExpiration.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.JavascriptAction; - -public class SetPDFExpiration { - - public static void main(String[] args) { - Document doc = new Document("input.pdf"); - JavascriptAction javaScript = new JavascriptAction("var year=2014;" + "var month=4;" + "today = new Date(); today = new Date(today.getFullYear(), today.getMonth());" + "expiry = new Date(year, month);" + "if (today.getTime() > expiry.getTime())" + "app.alert('The file is expired. You need a new one.');"); - doc.setOpenAction(javaScript); - doc.save("JavaScript-Added.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetPDFFileInformation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetPDFFileInformation.java deleted file mode 100644 index 10ef5f97..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/SetPDFFileInformation.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.DocumentInfo; - -public class SetPDFFileInformation { - - public static void main(String[] args) { - - // open document - Document pdfDocument = new Document("Original.pdf"); - // get document information - DocumentInfo docInfo = pdfDocument.getInfo(); - // set Author information - docInfo.setAuthor("Aspose.Pdf for java"); - docInfo.setCreationDate(new java.util.Date()); - docInfo.setKeywords("Aspose.Pdf, DOM, API"); - docInfo.setModDate(new java.util.Date()); - docInfo.setSubject("PDF Information"); - docInfo.setTitle("Setting PDF Document Information"); - // save update document with new information - pdfDocument.save("Updated_Information.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/TrimWhiteSpaceAroundPage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/TrimWhiteSpaceAroundPage.java deleted file mode 100644 index 1757c7cd..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/TrimWhiteSpaceAroundPage.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.Rectangle; - -public class TrimWhiteSpaceAroundPage { - - public static void main(String[] args) { - // load the source PDF document - Document document = new Document("input.pdf"); - // get page to trim white space - Page pdfPage = document.getPages().get_Item(1); - // get the content boundaries - Rectangle contentBBox = pdfPage.calculateContentBBox(); - // set Page CropBox and MedioBos as per content boundries to tirm white space - pdfPage.setCropBox(contentBBox); - pdfPage.setMediaBox(contentBBox); - // save the resultant PDF - document.save("output_trim.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ValidatePDFDocumentForPDFAStandard.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ValidatePDFDocumentForPDFAStandard.java deleted file mode 100644 index 71d3b396..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/DocumentObject/ValidatePDFDocumentForPDFAStandard.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.DocumentObject; - -import com.aspose.pdf.Document; -import com.aspose.pdf.PdfFormat; - -public class ValidatePDFDocumentForPDFAStandard { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("Original.pdf"); - // validate PDF for PDF/A-1a - pdfDocument.validate("validation-result-A1A.xml", PdfFormat.PDF_A_1B); - // save output document - pdfDocument.save("Optimized_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/AddFormFieldInPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/AddFormFieldInPDFDocument.java deleted file mode 100644 index bd1840ae..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/AddFormFieldInPDFDocument.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import java.awt.Color; - -import com.aspose.pdf.Border; -import com.aspose.pdf.BorderStyle; -import com.aspose.pdf.Cell; -import com.aspose.pdf.ComboBoxField; -import com.aspose.pdf.Dash; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.RadioButtonField; -import com.aspose.pdf.RadioButtonOptionField; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.Row; -import com.aspose.pdf.SignatureField; -import com.aspose.pdf.Table; -import com.aspose.pdf.TextBoxField; -import com.aspose.pdf.TextFragment; - -public class AddFormFieldInPDFDocument { - - public static void main(String[] args) { - addFormFieldInPDFDocument(); - addRadioButtonFieldInPDFDocument(); - addRadioButtonFieldWithThreeOptions(); - addingComboBoxField(); - addingSignatureField(); - } - - public static void addFormFieldInPDFDocument() { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Create a field - TextBoxField textBoxField1 = new TextBoxField(pdfDocument.getPages().get_Item(1), new Rectangle(100, 200, 300, 300)); - // Set the field name - textBoxField1.setPartialName("textbox1"); - // Set the field value - textBoxField1.setValue("Text Box"); - // Create a border object - Border border = new Border(textBoxField1); - // Set the border width - border.setWidth(5); - // Set the border dash style - border.setDash(new Dash(1, 1)); - // Set the field border - textBoxField1.setBorder(border); - // Add the field to the document - pdfDocument.getForm().add(textBoxField1, 1); - // Save the modified PDF - pdfDocument.save("output.pdf"); - } - - public static void addRadioButtonFieldInPDFDocument() { - // instantiate Document object - Document pdfDocument = new Document(); - // add a page to PDF file - pdfDocument.getPages().add(); - // instantiate RadioButtonField object with page number as argument - RadioButtonField radio = new RadioButtonField(pdfDocument.getPages().get_Item(1)); - // add first radio button option and also specify its origin using Rectangle object - radio.addOption("Test", new Rectangle(20, 720, 40, 740)); - // add second radio button option - radio.addOption("Test1", new Rectangle(120, 720, 140, 740)); - // add radio button to form object of Document object - pdfDocument.getForm().add(radio); - // save the PDF file - pdfDocument.save("RadioButtonSample.pdf"); - } - - public static void addRadioButtonFieldWithThreeOptions() { - Document doc = new Document(); - Page page = doc.getPages().add(); - Table table = new Table(); - table.setColumnWidths("120 120 120"); - page.getParagraphs().add(table); - Row r1 = table.getRows().add(); - Cell c1 = r1.getCells().add(); - Cell c2 = r1.getCells().add(); - Cell c3 = r1.getCells().add(); - RadioButtonField rf = new RadioButtonField(page); - rf.setPartialName("radio"); - doc.getForm().add(rf, 1); - RadioButtonOptionField opt1 = new RadioButtonOptionField(); - RadioButtonOptionField opt2 = new RadioButtonOptionField(); - RadioButtonOptionField opt3 = new RadioButtonOptionField(); - opt1.setOptionName("Item1"); - opt2.setOptionName("Item2"); - opt3.setOptionName("Item3"); - opt1.setWidth(15); - opt1.setHeight(15); - opt2.setWidth(15); - opt2.setHeight(15); - opt3.setWidth(15); - opt3.setHeight(15); - rf.add(opt1); - rf.add(opt2); - rf.add(opt3); - opt1.setBorder(new Border(opt1)); - opt1.getBorder().setWidth(1); - opt1.getBorder().setStyle(BorderStyle.Solid); - opt1.getCharacteristics().setBorder(Color.BLACK); - opt1.getDefaultAppearance().setTextColor(Color.RED); - opt1.setCaption(new TextFragment("Item1")); - opt2.setBorder(new Border(opt2)); - opt2.getBorder().setWidth(1); - opt2.getBorder().setStyle(BorderStyle.Solid); - opt2.getCharacteristics().setBorder(Color.BLACK); - opt2.getDefaultAppearance().setTextColor(Color.RED); - opt2.setCaption(new TextFragment("Item2")); - opt3.setBorder(new Border(opt3)); - opt3.getBorder().setWidth(1); - opt3.getBorder().setStyle(BorderStyle.Solid); - opt3.getCharacteristics().setBorder(Color.BLACK); - opt3.getDefaultAppearance().setTextColor(Color.RED); - opt3.setCaption(new TextFragment("Item3")); - c1.getParagraphs().add(opt1); - c2.getParagraphs().add(opt2); - c3.getParagraphs().add(opt3); - doc.save("RadioButtonField.pdf"); - } - - public static void addingComboBoxField() { - // create Document object - Document doc = new Document(); - // add page to document object - doc.getPages().add(); - // instantiate ComboBox Field object - ComboBoxField combo = new ComboBoxField(doc.getPages().get_Item(1), new Rectangle(100, 600, 150, 616)); - // add option to ComboBox - combo.addOption("Red"); - combo.addOption("Yellow"); - combo.addOption("Green"); - combo.addOption("Blue"); - // add combo box object to form fields collection of document object - doc.getForm().add(combo); - // save the PDF document - doc.save("ComboBox_Added.pdf"); - } - - public static void addingSignatureField() { - // Open document - Document pdfDocument = new Document("Input.pdf"); - // Create a field - SignatureField signatureField = new SignatureField(pdfDocument.getPages().get_Item(1), new Rectangle(100, 200, 300, 300)); - signatureField.setPartialName("signature1"); - // Add field to the document - pdfDocument.getForm().add(signatureField, 1); - // Save modified PDF - pdfDocument.save("Output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/AddTooltipToFormField.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/AddTooltipToFormField.java deleted file mode 100644 index ba13cb2d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/AddTooltipToFormField.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextBoxField; - -public class AddTooltipToFormField { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Get a field - TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("textbox1"); - // Set the tooltip for textfield - textBoxField.setAlternateName("Text box tool tip"); - // Save modified document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/ConvertDynamicXFAFormToStandardAcroForm.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/ConvertDynamicXFAFormToStandardAcroForm.java deleted file mode 100644 index b4733351..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/ConvertDynamicXFAFormToStandardAcroForm.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FormType; - -public class ConvertDynamicXFAFormToStandardAcroForm { - - public static void main(String[] args) { - // Load dynamic XFA form - Document document = new Document("XFAform.pdf"); - // Set the form fields type as standard AcroForm - document.getForm().setType(FormType.Standard); - // Save the resultant PDF - document.save("Standard_AcroForm.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/DeleteParticularFormFieldFromPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/DeleteParticularFormFieldFromPDFDocument.java deleted file mode 100644 index 04f247aa..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/DeleteParticularFormFieldFromPDFDocument.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; - -public class DeleteParticularFormFieldFromPDFDocument { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Delete a named field by name - pdfDocument.getForm().delete("textbox1"); - // Save the modified PDF - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/FillFormFieldInPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/FillFormFieldInPDFDocument.java deleted file mode 100644 index 27f7869b..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/FillFormFieldInPDFDocument.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextBoxField; - -public class FillFormFieldInPDFDocument { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Get a field - TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("textbox1"); - // Set the field value - textBoxField.setValue("Value of TextField"); - // Save the updated document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetFormFieldsFromSpecificRegionOfPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetFormFieldsFromSpecificRegionOfPDFFile.java deleted file mode 100644 index 5bc7ed48..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetFormFieldsFromSpecificRegionOfPDFFile.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Field; -import com.aspose.pdf.Form; -import com.aspose.pdf.Rectangle; - -public class GetFormFieldsFromSpecificRegionOfPDFFile { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("Field_Added_output.pdf"); - // Create rectangle object to get fields in that area - Rectangle rectangle = new Rectangle(35, 703, 126, 753); - // Get the PDF form - Form form = pdfDocument.getForm(); - // Get fields in the rectangular area - Field[] fields = form.getFieldsInRect(rectangle); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetValueFromAnIndividualFieldOfPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetValueFromAnIndividualFieldOfPDFDocument.java deleted file mode 100644 index a55d350a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetValueFromAnIndividualFieldOfPDFDocument.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextBoxField; - -public class GetValueFromAnIndividualFieldOfPDFDocument { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("Field_Added_output.pdf"); - // Get a field - TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("textbox1"); - // Get the field name - System.out.printf("PartialName :-" + textBoxField.getPartialName()); - // Get the field value - System.out.printf("Value :-" + textBoxField.getValue()); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetValuesFromAllFieldsInPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetValuesFromAllFieldsInPDFDocument.java deleted file mode 100644 index 4f1094eb..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/GetValuesFromAllFieldsInPDFDocument.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Field; - -public class GetValuesFromAllFieldsInPDFDocument { - - public static void main(String[] args) { - // Open document - Document pdf = new Document("Form.pdf"); - Field[] fields = pdf.getForm().getFields(); - for (int i = 0; i < fields.length; i++) { - System.out.println("Form field: " + fields[i].getFullName()); - System.out.println("Form field: " + fields[i].getValue()); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/HowToAddGroupedCheckBoxes.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/HowToAddGroupedCheckBoxes.java deleted file mode 100644 index 92586688..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/HowToAddGroupedCheckBoxes.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Border; -import com.aspose.pdf.BorderStyle; -import com.aspose.pdf.BoxStyle; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.RadioButtonField; -import com.aspose.pdf.RadioButtonOptionField; -import com.aspose.pdf.Rectangle; - -public class HowToAddGroupedCheckBoxes { - - public static void main(String[] args) { - // instantiate Document object - Document pdfDocument = new Document(); - // add a page to PDF file - Page page = pdfDocument.getPages().add(); - // instatiate RadioButtonField object with page number as argument - RadioButtonField radio = new RadioButtonField(pdfDocument.getPages().get_Item(1)); - // add first radio button option and also specify its origin using Rectangle object - RadioButtonOptionField opt1 = new RadioButtonOptionField(page, new Rectangle(0, 0, 20, 20)); - RadioButtonOptionField opt2 = new RadioButtonOptionField(page, new Rectangle(100, 0, 120, 20)); - opt1.setOptionName("Test1"); - opt2.setOptionName("Test2"); - radio.add(opt1); - radio.add(opt2); - opt1.setStyle(BoxStyle.Square); - opt2.setStyle(BoxStyle.Square); - opt1.setStyle(BoxStyle.Cross); - opt2.setStyle(BoxStyle.Cross); - opt1.setBorder(new Border(opt1)); - opt1.getBorder().setStyle(BorderStyle.Solid); - opt1.getBorder().setWidth(1); - opt1.getCharacteristics().setBorder(java.awt.Color.black); - opt2.setBorder(new Border(opt2)); - opt2.getBorder().setWidth(1); - opt2.getBorder().setStyle(BorderStyle.Solid); - opt2.getCharacteristics().setBorder(java.awt.Color.black); - // add radio button to form object of Document object - pdfDocument.getForm().add(radio); - // save the PDF file - pdfDocument.save("RadioButtonSample.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/ModifyFormFieldInPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/ModifyFormFieldInPDFDocument.java deleted file mode 100644 index 47e98fce..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/ModifyFormFieldInPDFDocument.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextBoxField; - -public class ModifyFormFieldInPDFDocument { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Get a field - TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("textbox1"); - // Modify the field value - textBoxField.setValue("Updated Value"); - // Set the field as read only - textBoxField.setReadOnly(true); - // Save the updated document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/MoveFormFieldToNewLocationInPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/MoveFormFieldToNewLocationInPDFFile.java deleted file mode 100644 index 6c5275f2..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/MoveFormFieldToNewLocationInPDFFile.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.TextBoxField; - -public class MoveFormFieldToNewLocationInPDFFile { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Get a field - TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("textbox1"); - // Modify the field location - textBoxField.setRect(new Rectangle(300, 400, 600, 500)); - // Save the modified document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/SetCustomFormFieldFont.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/SetCustomFormFieldFont.java deleted file mode 100644 index 7e68d850..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Forms/SetCustomFormFieldFont.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Forms; - -import java.awt.Color; - -import com.aspose.pdf.DefaultAppearance; -import com.aspose.pdf.Document; -import com.aspose.pdf.Font; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.TextBoxField; - -public class SetCustomFormFieldFont { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Get a field - TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("textbox1"); - // Create an instance of font object and try loading ComicSansMS font - // from system font repository - Font font = FontRepository.findFont("ComicSansMS"); - // Set the font information for form field by using Font object - textBoxField.setDefaultAppearance(new DefaultAppearance(font, 10, Color.black)); - // Set the font information for form field by using its name textBoxField.setDefaultAppearance(new - // DefaultAppearance("ComicSansMS", 10, Color.black)); - // Save updated document - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/AddLineObjectToPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/AddLineObjectToPDF.java deleted file mode 100644 index 3d872537..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/AddLineObjectToPDF.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Graphs; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.drawing.Graph; -import com.aspose.pdf.drawing.Line; - -public class AddLineObjectToPDF { - - public static void main(String[] args) { - // Create Document instance - Document doc = new Document(); - // Add page to pages collection of PDF file - Page page = doc.getPages().add(); - // Create Graph instance - Graph graph = new Graph(100, 400); - // Add graph object to paragraphs collection of page instance - page.getParagraphs().add(graph); - // Create Rectangle instance - Line line = new Line(new float[] { 100, 100, 200, 100 }); - // Specify fill color for Graph object - line.getGraphInfo().setDashArray(new int[] { 0, 1, 0 }); - line.getGraphInfo().setDashPhase(1); - // Add rectangle object to shapes collection of Graph object - graph.getShapes().add(line); - // Save PDF file - doc.save("LineAdded.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/ControllingZOrderOfRectangle.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/ControllingZOrderOfRectangle.java deleted file mode 100644 index bdaba8d9..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/ControllingZOrderOfRectangle.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Graphs; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.drawing.Graph; -import com.aspose.pdf.drawing.Rectangle; - -public class ControllingZOrderOfRectangle { - - public static void main(String[] args) { - // Create Document instance - Document doc = new Document(); - // Add page to pages collection of PDF file - Page page = doc.getPages().add(); - // set size of PDF page - page.setPageSize(375, 300); - // set left margin for page object as 0 - page.getPageInfo().getMargin().setLeft(0); - // set top margin of page object as 0 - page.getPageInfo().getMargin().setTop(0); - // create a new rectangle with Color as Red, Z-Order as 0 and certain - // dimensions - addRectangle(page, 50, 40, 60, 40, Color.getRed(), 2); - // create a new rectangle with Color as Blue, Z-Order as 0 and certain - // dimensions - addRectangle(page, 20, 20, 30, 30, Color.getBlue(), 1); - // create a new rectangle with Color as Green, Z-Order as 0 and certain - // dimensions - addRectangle(page, 40, 40, 60, 30, Color.getGreen(), 0); - // save resultant PDF file - doc.save("Z-Order_Test.pdf"); - } - - private static void addRectangle(Page page, float x, float y, float width, float height, Color color, int zindex) { - // create graph object with dimensions same as specified for Rectangle object - Graph graph = new Graph(width, height); - // can we change the position of graph instance - graph.setChangePosition(false); - // set Left coordinate position for Graph instance - graph.setLeft(x); - // set Top coordinate position for Graph object - graph.setTop(y); - // Add a rectangle inside the "graph" - Rectangle rect = new Rectangle(0, 0, width, height); - // set rectangle fill color - rect.getGraphInfo().setFillColor(color); - // color of graph object - rect.getGraphInfo().setColor(color); - // add rectangle to shapes collection of graph instance - graph.getShapes().add(rect); - // set Z-Index for rectangle object - graph.setZIndex(zindex); - // add graph to paragraphs collection of page object - page.getParagraphs().add(graph); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/CreateFilledRectangleObject.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/CreateFilledRectangleObject.java deleted file mode 100644 index 96911552..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/CreateFilledRectangleObject.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Graphs; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.drawing.Graph; -import com.aspose.pdf.drawing.Rectangle; - -public class CreateFilledRectangleObject { - - public static void main(String[] args) { - // Create Document instance - Document doc = new Document(); - // Add page to pages collection of PDF file - Page page = doc.getPages().add(); - // Create Graph instance - Graph graph = new Graph(100, 400); - // Add graph object to paragraphs collection of page instance - page.getParagraphs().add(graph); - // Create Rectangle instance - Rectangle rect = new Rectangle(100, 100, 200, 120); - // Specify fill color for Graph object - rect.getGraphInfo().setFillColor(Color.getRed()); - // Add rectangle object to shapes collection of Graph object - graph.getShapes().add(rect); - // save resultant PDF file - doc.save("Filled_Rect.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/DrawingLineAcrossThePage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/DrawingLineAcrossThePage.java deleted file mode 100644 index af612f39..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Graphs/DrawingLineAcrossThePage.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Graphs; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.drawing.Graph; -import com.aspose.pdf.drawing.Line; - -public class DrawingLineAcrossThePage { - - public static void main(String[] args) { - // Create Document instance - Document doc = new Document(); - // Add page to pages collection of PDF file - Page page = doc.getPages().add(); - // set page margin on all sides as 0 - page.getPageInfo().getMargin().setLeft(0); - page.getPageInfo().getMargin().setRight(0); - page.getPageInfo().getMargin().setBottom(0); - page.getPageInfo().getMargin().setTop(0); - // create Graph object with Width and Height equal to page dimensions - Graph graph = new Graph((float) page.getPageInfo().getWidth(), (float) page.getPageInfo().getHeight()); - // create first line object starting from Lower-Left to Top-Right corner of page - Line line = new Line(new float[] { (float) page.getRect().getLLX(), 0, (float) page.getPageInfo().getWidth(), (float) page.getRect().getURY() }); - // add line to shapes collection of Graph object - graph.getShapes().add(line); - // draw line from Top-Left corner of page to Bottom-Right corner of page - Line line2 = new Line(new float[] { 0, (float) page.getRect().getURY(), (float) page.getPageInfo().getWidth(), (float) page.getRect().getLLX() }); - // add line to shapes collection of Graph object - graph.getShapes().add(line2); - // add Graph object to paragraphs collection of page - page.getParagraphs().add(graph); - // save resultant PDF file - doc.save("Line_Across_Page.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Headings/ApplyNumberingStyleInHeading.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Headings/ApplyNumberingStyleInHeading.java deleted file mode 100644 index 2551ca57..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Headings/ApplyNumberingStyleInHeading.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Headings; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FloatingBox; -import com.aspose.pdf.Heading; -import com.aspose.pdf.NumberingStyle; -import com.aspose.pdf.Page; - -public class ApplyNumberingStyleInHeading { - - public static void main(String[] args) { - Document pdfDoc = new Document(); - pdfDoc.getPageInfo().setWidth(612.0); - pdfDoc.getPageInfo().setHeight(792.0); - pdfDoc.getPageInfo().getMargin().setLeft(72); - pdfDoc.getPageInfo().getMargin().setRight(72); - pdfDoc.getPageInfo().getMargin().setTop(72); - pdfDoc.getPageInfo().getMargin().setBottom(72); - - Page pdfPage = pdfDoc.getPages().add(); - pdfPage.getPageInfo().setWidth(612.0); - pdfPage.getPageInfo().setHeight(792.0); - pdfPage.getPageInfo().getMargin().setLeft(72); - pdfPage.getPageInfo().getMargin().setRight(72); - pdfPage.getPageInfo().getMargin().setTop(72); - pdfPage.getPageInfo().getMargin().setBottom(72); - - FloatingBox floatBox = new FloatingBox(); - floatBox.setMargin(pdfPage.getPageInfo().getMargin()); - - pdfPage.getParagraphs().add(floatBox); - - Heading heading = new Heading(1); - heading.setInList(true); - heading.setStartNumber(1); - heading.setText("List 1"); - heading.setStyle(NumberingStyle.NumeralsRomanLowercase); - heading.setAutoSequence(true); - - floatBox.getParagraphs().add(heading); - - Heading heading2 = new Heading(1); - heading2.setInList(true); - heading2.setStartNumber(13); - heading2.setText("List 2"); - heading2.setStyle(NumberingStyle.NumeralsRomanLowercase); - heading2.setAutoSequence(true); - - floatBox.getParagraphs().add(heading2); - - Heading heading3 = new Heading(2); - heading3.setInList(true); - heading3.setStartNumber(1); - heading3.setText("the value, as of the effective date of the plan, of property to be distributed under the plan onaccount of each allowed"); - heading3.setStyle(NumberingStyle.LettersLowercase); - heading3.setAutoSequence(true); - - floatBox.getParagraphs().add(heading3); - pdfDoc.save("RomanNumber.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/AddImageToExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/AddImageToExistingPDFFile.java deleted file mode 100644 index 81fd0b2a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/AddImageToExistingPDFFile.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; - -import javax.imageio.ImageIO; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Matrix; -import com.aspose.pdf.Operator; -import com.aspose.pdf.Page; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.XImage; - -public class AddImageToExistingPDFFile { - - public static void main(String[] args) throws IOException { - addImageToExistingPDFFile(); - addingImageFromBufferedImageIntoPDF(); - } - - public static void addImageToExistingPDFFile() throws IOException { - // Open a document - Document pdfDocument1 = new Document("input.pdf"); - // Set coordinates - int lowerLeftX = 100; - int lowerLeftY = 100; - int upperRightX = 200; - int upperRightY = 200; - // Get the page you want to add the image to - Page page = pdfDocument1.getPages().get_Item(1); - // Load image into stream - java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg")); - // Add an image to the Images collection of the page resources - page.getResources().getImages().add(imageStream); - // Using the GSave operator: this operator saves current graphics state - page.getContents().add(new Operator.GSave()); - // Create Rectangle and Matrix objects - Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY); - Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() }); - // Using ConcatenateMatrix (concatenate matrix) operator: defines how - // image must be placed - page.getContents().add(new Operator.ConcatenateMatrix(matrix)); - XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size()); - // Using Do operator: this operator draws image - page.getContents().add(new Operator.Do(ximage.getName())); - // Using GRestore operator: this operator restores graphics state - page.getContents().add(new Operator.GRestore()); - // Save the new PDF - pdfDocument1.save("Updated_document.pdf"); - // Close image stream - imageStream.close(); - } - - public static void addingImageFromBufferedImageIntoPDF() throws IOException { - BufferedImage originalImage = ImageIO.read(new File("anyImage.jpg")); - Document pdfDocument1 = new Document(); - Page page2 = pdfDocument1.getPages().add(); - page2.getResources().getImages().add(originalImage); - } - /* - * //Info BufferedImage originalImage = ImageIO.read(new File("AnyImage.jpg")); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(originalImage, "jpg", baos); baos.flush(); Page page2 = pdfDocument1.getPages().get_Item(i + 1); page2.getResources().getImages().add(new ByteArrayInputStream(baos.toByteArray())); //Info - */ -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertAnImageToPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertAnImageToPDF.java deleted file mode 100644 index 93d5bfc4..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertAnImageToPDF.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; - -import javax.imageio.ImageIO; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Image; -import com.aspose.pdf.Page; -import com.aspose.pdf.Rectangle; - -public class ConvertAnImageToPDF { - - public static void main(String[] args) throws IOException { - pdfImageApproach(); - addImageFromBufferedImage(); - } - - public static void pdfImageApproach() throws IOException { - // Instantiate Document Object - Document doc = new Document(); - // Add a page to pages collection of document - Page page = doc.getPages().add(); - // Load the source image file to Stream object - java.io.FileInputStream fs = new java.io.FileInputStream("source.tif"); - // Set margins so image will fit, etc. - page.getPageInfo().getMargin().setBottom(0); - page.getPageInfo().getMargin().setTop(0); - page.getPageInfo().getMargin().setLeft(0); - page.getPageInfo().getMargin().setRight(0); - page.setCropBox(new Rectangle(0, 0, 400, 400)); - // Create an image object - Image image1 = new Image(); - // Add the image into paragraphs collection of the section - page.getParagraphs().add(image1); - // Set the image file stream - image1.setImageStream(fs); - // Save resultant PDF file - doc.save("Image2PDF_DOM.pdf"); - } - - public static void addImageFromBufferedImage() throws IOException { - // instantiate Document instance - Document doc = new Document(); - // add a page to pages collection of Pdf file - Page page = doc.getPages().add(); - // create image instance - Image image1 = new Image(); - // create BufferedImage instance - java.awt.image.BufferedImage bufferedImage = ImageIO.read(new File("source.gif")); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - // write buffered Image to OutputStream instance - ImageIO.write(bufferedImage, "gif", baos); - baos.flush(); - ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); - // add image to paragraphs collection of first page - page.getParagraphs().add(image1); - // set image stream as OutputStream holding Buffered image - image1.setImageStream(bais); - // save resultant PDF file - doc.save("BufferedImage.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToBMPImage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToBMPImage.java deleted file mode 100644 index 57dce04a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToBMPImage.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.devices.BmpDevice; -import com.aspose.pdf.devices.Resolution; - -public class ConvertPDFPagesToBMPImage { - - public static void main(String[] args) throws IOException { - convertPDFPageToBMPImage(); - convertAllPDFPagesToBMPImages(); - } - - public static void convertPDFPageToBMPImage() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image.bmp"); - // Create Resolution object - Resolution resolution = new Resolution(300); - // Create BmpDevice object with particular resolution - BmpDevice bmpDevice = new BmpDevice(resolution); - // Convert a particular page and save the image to stream - bmpDevice.process(pdfDocument.getPages().get_Item(1), imageStream); - // Close the stream - imageStream.close(); - } - - public static void convertAllPDFPagesToBMPImages() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - - // Loop through all the pages of PDF file - for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) { - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".bmp"); - - // Create Resolution object - Resolution resolution = new Resolution(300); - // Create BmpDevice object with particular resolution - BmpDevice bmpDevice = new BmpDevice(resolution); - // Convert a particular page and save the image to stream - bmpDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream); - - // Close the stream - imageStream.close(); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToJPEGImage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToJPEGImage.java deleted file mode 100644 index e053f968..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToJPEGImage.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.devices.JpegDevice; -import com.aspose.pdf.devices.Resolution; - -public class ConvertPDFPagesToJPEGImage { - - public static void main(String[] args) throws IOException { - convertAllPagesToJPEGImages(); - convertOnePDFPageToJPEGImage(); - } - - public static void convertAllPagesToJPEGImages() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Loop through all the pages of PDF file - for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) { - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".jpg"); - // Create Resolution object - Resolution resolution = new Resolution(300); - // Create JpegDevice object where second argument indicates the quality of resultant image - JpegDevice jpegDevice = new JpegDevice(resolution, 100); - // Convert a particular page and save the image to stream - jpegDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream); - // Close the stream - imageStream.close(); - } - } - - public static void convertOnePDFPageToJPEGImage() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image.jpg"); - // Create JPEG device with specified attributes - // Quality [0-100], 100 is Maximum - // Create Resolution object - Resolution resolution = new Resolution(300); - // Create JpegDevice object where second argument indicates the quality of resultant image - JpegDevice jpegDevice = new JpegDevice(resolution, 100); - // Convert a particular page and save the image to stream - jpegDevice.process(pdfDocument.getPages().get_Item(1), imageStream); - // Close the stream - imageStream.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToPNGImages.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToPNGImages.java deleted file mode 100644 index fa092140..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToPNGImages.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.devices.PngDevice; -import com.aspose.pdf.devices.Resolution; - -public class ConvertPDFPagesToPNGImages { - - public static void main(String[] args) throws IOException { - convertAllPDFPagesToPNGImages(); - convertOnePageToPNGImage(); - } - - public static void convertAllPDFPagesToPNGImages() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Loop through all the pages of PDF file - for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) { - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image" + pageCount + ".png"); - // Create Resolution object - Resolution resolution = new Resolution(300); - // Create PngDevice object with particular resolution - PngDevice pngDevice = new PngDevice(resolution); - // Convert a particular page and save the image to stream - pngDevice.process(pdfDocument.getPages().get_Item(pageCount), imageStream); - // Close the stream - imageStream.close(); - } - } - - public static void convertOnePageToPNGImage() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image.png"); - // Create Resolution object - Resolution resolution = new Resolution(300); - // Create PngDevice object with particular resolution - PngDevice pngDevice = new PngDevice(resolution); - // Convert a particular page and save the image to stream - pngDevice.process(pdfDocument.getPages().get_Item(1), imageStream); - // Close the stream - imageStream.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToTIFFImage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToTIFFImage.java deleted file mode 100644 index fcb0366f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertPDFPagesToTIFFImage.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.devices.ColorDepth; -import com.aspose.pdf.devices.CompressionType; -import com.aspose.pdf.devices.Resolution; -import com.aspose.pdf.devices.TiffDevice; -import com.aspose.pdf.devices.TiffSettings; - -public class ConvertPDFPagesToTIFFImage { - - public static void main(String[] args) throws IOException { - convertAllPDFPagesToTIFFImages(); - convertOnePageToTIFF(); - } - - public static void convertAllPDFPagesToTIFFImages() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image.tiff"); - - // Create Resolution object - Resolution resolution = new Resolution(300); - - // instantiate TiffSettings object - TiffSettings tiffSettings = new TiffSettings(); - // set the compression of resultant TIFF image - tiffSettings.setCompression(CompressionType.CCITT4); - // set the color depth for resultant image - tiffSettings.setDepth(ColorDepth.Format8bpp); - // skip blank pages while rendering PDF to TIFF - tiffSettings.setSkipBlankPages(true); - - // Create TiffDevice object with particular resolution - TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings); - // Convert a all pages of PDF file to TIFF format - tiffDevice.process(pdfDocument, imageStream); - - // Close the stream - imageStream.close(); - } - - public static void convertOnePageToTIFF() throws IOException { - // Open document - Document pdfDocument = new Document("input.pdf"); - - // Create stream object to save the output image - java.io.OutputStream imageStream = new java.io.FileOutputStream("Converted_Image.tiff"); - - // Create Resolution object - Resolution resolution = new Resolution(300); - - // instantiate TiffSettings object - TiffSettings tiffSettings = new TiffSettings(); - // set the compression of resultant TIFF image - tiffSettings.setCompression(CompressionType.CCITT4); - // set the color depth for resultant image - tiffSettings.setDepth(ColorDepth.Format8bpp); - // skip blank pages while rendering PDF to TIFF - tiffSettings.setSkipBlankPages(true); - - // Create TiffDevice object with particular resolution - TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings); - // Convert a particular page (Page 1) and save the image to stream - tiffDevice.process(pdfDocument, 1, 1, imageStream); - - // Close the stream - imageStream.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertParticularPageRegionToImage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertParticularPageRegionToImage.java deleted file mode 100644 index b94c37c1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ConvertParticularPageRegionToImage.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.devices.BmpDevice; -import com.aspose.pdf.devices.Resolution; - -public class ConvertParticularPageRegionToImage { - - public static void main(String[] args) { - // open document - Document document = new Document("Input.pdf"); - // Get rectangle of particular page region - Rectangle pageRect = new Rectangle(20, 671, 693, 1125); - // set CropBox value as per rectangle of desired page region - document.getPages().get_Item(1).setCropBox(pageRect); - // save cropped document into stream - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - document.save(outStream); - // open cropped PDF document from stream and convert to image - document = new Document(new ByteArrayInputStream(outStream.toByteArray())); - // Create Resolution object - Resolution resolution = new Resolution(300); - // Create BMP device with specified attributes - BmpDevice bmpDevice = new BmpDevice(resolution); - // Convert a particular page and save the image to stream - bmpDevice.process(document.getPages().get_Item(1), "Output.bmp"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/DeleteImageFromPDFResourcesFoundByImagePlacementAbsorber.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/DeleteImageFromPDFResourcesFoundByImagePlacementAbsorber.java deleted file mode 100644 index 70639253..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/DeleteImageFromPDFResourcesFoundByImagePlacementAbsorber.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import com.aspose.pdf.Annotation; -import com.aspose.pdf.AnnotationSelector; -import com.aspose.pdf.Document; -import com.aspose.pdf.ImagePlacement; -import com.aspose.pdf.ImagePlacementAbsorber; -import com.aspose.pdf.LinkAnnotation; -import com.aspose.pdf.Rectangle; - -public class DeleteImageFromPDFResourcesFoundByImagePlacementAbsorber { - - public static void main(String[] args) { - String myDir = "PathToDir"; - Document document = new Document(myDir + "mde1257231R.pdf"); - // Extract actions - AnnotationSelector selector = new AnnotationSelector(new LinkAnnotation(document.getPages().get_Item(1), Rectangle.getTrivial())); - document.getPages().get_Item(1).accept(selector); - java.util.List list = selector.getSelected(); - for (int listItem = 0; listItem < list.size(); listItem++) { - Annotation annotation = (Annotation) list.get(listItem); - // Create ImagePlacementAbsorber object to perform image placement - // search - ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); - // Accept the absorber for all the pages - document.getPages().get_Item(1).accept(abs); - // Loop through all ImagePlacements - for (ImagePlacement imagePlacement : (Iterable) abs.getImagePlacements()) { - // Determine if URY of Hyperlink and image are matching - if ((int) annotation.getRect().getURY() == (int) imagePlacement.getRectangle().getURY()) { - System.out.println("Image with Hyperlink..."); - imagePlacement.getImage().delete();// delete a particular image from resources - } - } - } - // Save updated document - document.save(myDir + "ImageRemoved_output_3.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/DeleteImagesFromThePDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/DeleteImagesFromThePDFFile.java deleted file mode 100644 index 09ce2aeb..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/DeleteImagesFromThePDFFile.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import com.aspose.pdf.Document; - -public class DeleteImagesFromThePDFFile { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Delete a particular image - pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1); - // Save the updated PDF file - pdfDocument.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ExtractImagesFromThePDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ExtractImagesFromThePDFFile.java deleted file mode 100644 index bef3a485..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ExtractImagesFromThePDFFile.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import com.aspose.pdf.Document; -import com.aspose.pdf.XImage; - -public class ExtractImagesFromThePDFFile { - - public static void main(String[] args) throws Exception { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Extract a particular image - XImage xImage = pdfDocument.getPages().get_Item(1).getResources().getImages().get_Item(1); - // Create stream object to save the output image - java.io.OutputStream output = new java.io.FileOutputStream("output.jpg"); - // Save the output image - xImage.save(output); - output.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/GetNameOfImagesEmbeddedInPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/GetNameOfImagesEmbeddedInPDFFile.java deleted file mode 100644 index e36e8d2d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/GetNameOfImagesEmbeddedInPDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import com.aspose.pdf.Document; - -public class GetNameOfImagesEmbeddedInPDFFile { - - public static void main(String[] args) { - // Load source PDF file - Document pdfDocument = new Document("input.pdf"); - // Get the all images names from first page of PDF file - for (int i = 0; i < pdfDocument.getPages().get_Item(1).getResources().getImages().size(); i++) { - // Print the names of image file over console - System.out.println(pdfDocument.getPages().get_Item(1).getResources().getImages().getNames()[i]); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/IdentifyIfImageInsidePDFIsColoredOrBlackAndWhite.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/IdentifyIfImageInsidePDFIsColoredOrBlackAndWhite.java deleted file mode 100644 index 030a167f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/IdentifyIfImageInsidePDFIsColoredOrBlackAndWhite.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import com.aspose.pdf.ColorType; -import com.aspose.pdf.Document; -import com.aspose.pdf.ImagePlacement; -import com.aspose.pdf.ImagePlacementAbsorber; -import com.aspose.pdf.Page; - -public class IdentifyIfImageInsidePDFIsColoredOrBlackAndWhite { - - public static void main(String[] args) { - // read source PDF file - Document document = new Document("test4.pdf"); - try /* JAVA: was using */ - { - // iterate through all pages of PDF file - for (Page page : (Iterable) document.getPages()) { - // create Image Placement Absorber instance - ImagePlacementAbsorber abs = new ImagePlacementAbsorber(); - page.accept(abs); - for (ImagePlacement ia : (Iterable) abs.getImagePlacements()) { - /* ColorType */ - int colorType = ia.getImage().getColorType(); - switch (colorType) { - case ColorType.Grayscale: - System.out.println("Grayscale Image"); - break; - case ColorType.Rgb: - System.out.println("Colored Image"); - break; - } - } - } - } catch (Exception ex) { - System.out.println("Error reading file = " + document.getFileName()); - } - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ReplaceImageInExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ReplaceImageInExistingPDFFile.java deleted file mode 100644 index 566ef376..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/ReplaceImageInExistingPDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import com.aspose.pdf.Document; - -public class ReplaceImageInExistingPDFFile { - - public static void main(String[] args) throws Exception { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Replace a particular image - pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("apose.png"))); - // Save the updated PDF file - pdfDocument.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/SettingDPIOrPPIOfImagesInPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/SettingDPIOrPPIOfImagesInPDF.java deleted file mode 100644 index 90434f83..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Images/SettingDPIOrPPIOfImagesInPDF.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Images; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Image; -import com.aspose.pdf.Page; -import com.aspose.pdf.XImageCollection; - -public class SettingDPIOrPPIOfImagesInPDF { - - public static void main(String[] args) throws FileNotFoundException { - String myDir = "pathTodir"; - File fileIn = new File(myDir + "image.jpg"); - FileInputStream in = new FileInputStream(fileIn); - File fileOut = new File(myDir + "image.pdf"); - FileOutputStream out = new FileOutputStream(fileOut); - // Test PDF creation - Document doc = new Document(); - Page page = doc.getPages().add(); - Image image1 = new Image(); - image1.setImageStream(in); - image1.setFixHeight(page.getMediaBox().getHeight() / 4); - image1.setFixWidth(page.getMediaBox().getWidth() / 2); - page.getParagraphs().add(image1); - page.getPageInfo().getMargin().setLeft(5); - page.getPageInfo().getMargin().setRight(0); - page.getPageInfo().getMargin().setTop(0); - page.getPageInfo().getMargin().setBottom(0); - doc.save(out); - // Internal image resolution change - doc = new Document(myDir + "image.pdf"); - XImageCollection images = doc.getPages().get_Item(1).getResources().getImages(); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - images.get_Item(1).save(baos, 10, 10);// define horizontal and vertical // resolutions - images.get_Item(1).replace(new ByteArrayInputStream(baos.toByteArray())); - doc.save(myDir + "imageWithNewResolution.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/AddHyperlinkInPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/AddHyperlinkInPDFFile.java deleted file mode 100644 index e63c3477..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/AddHyperlinkInPDFFile.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.LinksAndActions; - -import com.aspose.pdf.Border; -import com.aspose.pdf.DefaultAppearance; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.FreeTextAnnotation; -import com.aspose.pdf.GoToURIAction; -import com.aspose.pdf.LinkAnnotation; -import com.aspose.pdf.Page; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.examples.Utils; - -public class AddHyperlinkInPDFFile { - - private static final String dataDir = Utils.getSharedDataDir(AddHyperlinkInPDFFile.class) + "LinksAndActions/"; - - public static void main(String[] args) { - // Open document - Document document = new Document(dataDir + "input.pdf"); - // Create link - Page page = document.getPages().get_Item(1); - // Create Link annotation object - LinkAnnotation link = new LinkAnnotation(page, new Rectangle(100, 100, 300, 300)); - // Create border object for LinkAnnotation - Border border = new Border(link); - // Set the border width value as 0 - border.setWidth(0); - // Set the border for LinkAnnotation - link.setBorder(border); - // Specify the link type as remote URI - link.setAction(new GoToURIAction("www.aspose.com")); - // Add link annotation to annotations collection of first page of PDF file - page.getAnnotations().add(link); - // Create Free Text annotation - FreeTextAnnotation textAnnotation = new FreeTextAnnotation(document.getPages().get_Item(1), new Rectangle(100, 100, 300, 300), new DefaultAppearance(FontRepository.findFont("Arial"), 10, java.awt.Color.BLUE)); - // String to be added as Free text - textAnnotation.setContents("Link to Aspose website"); - // Set the border for Free Text Annotation - textAnnotation.setBorder(border); - // Add FreeText annotation to annotations collection of first page of Document - document.getPages().get_Item(1).getAnnotations().add(textAnnotation); - // Save updated document - document.save(dataDir + "Annotation_output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/CreateALinkToAnotherPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/CreateALinkToAnotherPDFDocument.java deleted file mode 100644 index 86424586..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/CreateALinkToAnotherPDFDocument.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.LinksAndActions; - -import com.aspose.pdf.Document; -import com.aspose.pdf.GoToRemoteAction; -import com.aspose.pdf.LinkAnnotation; -import com.aspose.pdf.examples.Utils; - -public class CreateALinkToAnotherPDFDocument { - - private static final String dataDir = Utils.getSharedDataDir(CreateALinkToAnotherPDFDocument.class) + "LinksAndActions/"; - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document(); - // Add page to PDF file - pdfDocument.getPages().add(); - // Create LinkAnnotation object and specify rectangular region - LinkAnnotation link = new LinkAnnotation(pdfDocument.getPages().get_Item(1), new com.aspose.pdf.Rectangle(100, 100, 110, 110)); - // Set color for Annotation object - link.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.green)); - // Specify the target PDF file and set page number - link.setAction(new GoToRemoteAction(dataDir + "SampleDataTable.pdf", 1)); - // Add link annotation to first page of PDF file - pdfDocument.getPages().get_Item(1).getAnnotations().add(link); - //Save the document with link - pdfDocument.save(dataDir + "Hyerplink_to_PDF.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/GetPDFHyperlinkDestination.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/GetPDFHyperlinkDestination.java deleted file mode 100644 index 28cf71a6..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/GetPDFHyperlinkDestination.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.LinksAndActions; - -import java.util.List; - -import com.aspose.pdf.AnnotationSelector; -import com.aspose.pdf.Document; -import com.aspose.pdf.GoToURIAction; -import com.aspose.pdf.LinkAnnotation; -import com.aspose.pdf.Page; -import com.aspose.pdf.Rectangle; - -public class GetPDFHyperlinkDestination { - public static void main(String[] args) { - Document document = new Document("update_Service_Work_Order.pdf"); - // Extract actions - Page page = document.getPages().get_Item(1); - AnnotationSelector selector = new AnnotationSelector(new LinkAnnotation(page, Rectangle.getTrivial())); - // page.accept(selector); - List list = selector.getSelected(); - // Iterate through individual item inside list - if (list.size() == 0) - System.out.println("No Hyperlinks found.."); - else { - // Loop through all the bookmarks - for (LinkAnnotation annot : (Iterable) list) { - // Print the destination URL - System.out.println("
Destination: " + ((GoToURIAction) annot.getAction()).getURI() + "
"); - } - }// end else - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/RemoveDocumentOpenActionFromPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/RemoveDocumentOpenActionFromPDFFile.java deleted file mode 100644 index 837eb3fb..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/LinksAndActions/RemoveDocumentOpenActionFromPDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.LinksAndActions; - -import com.aspose.pdf.Document; - -public class RemoveDocumentOpenActionFromPDFFile { - - public static void main(String[] args) { - // Open document - Document document = new Document("Input.pdf"); - // Remove document open action - document.setOpenAction(null); - // Save updated document - document.save("Output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/ChangingColorSpaceOfPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/ChangingColorSpaceOfPDFDocument.java deleted file mode 100644 index 0a873921..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/ChangingColorSpaceOfPDFDocument.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Miscellaneous; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Operator; -import com.aspose.pdf.OperatorCollection; - -public class ChangingColorSpaceOfPDFDocument { - - public static void main(String[] args) { - Document doc = new Document("input_color.pdf"); - OperatorCollection contents = doc.getPages().get_Item(1).getContents(); - System.out.println("Values of RGB color operators in the pdf document"); - for (int j = 1; j <= contents.size(); j++) { - Operator oper = contents.get_Item(j); - if (oper instanceof Operator.SetRGBColor || oper instanceof Operator.SetRGBColorStroke) - try { - // Converting RGB to CMYK color - System.out.println(oper.toString()); - double[] rgbFloatArray = new double[] { Double.valueOf(oper.getParameters().get(0).toString()), Double.valueOf(oper.getParameters().get(1).toString()), Double.valueOf(oper.getParameters().get(2).toString()), }; - double[] cmyk = new double[4]; - if (oper instanceof Operator.SetRGBColor) { - ((Operator.SetRGBColor) oper).getCMYKColor(rgbFloatArray, cmyk); - contents.set_Item(j, new Operator.SetCMYKColor(cmyk[0], cmyk[1], cmyk[2], cmyk[3])); - } else if (oper instanceof Operator.SetRGBColorStroke) { - ((Operator.SetRGBColorStroke) oper).getCMYKColor(rgbFloatArray, cmyk); - contents.set_Item(j, new Operator.SetCMYKColorStroke(cmyk[0], cmyk[1], cmyk[2], cmyk[3])); - } else - throw new java.lang.Throwable("Unsupported command"); - } catch (Throwable e) { - e.printStackTrace(); - } - } - doc.save("input_colorout.pdf"); - // Testing the result - System.out.println("Values of converted CMYK color operators in the result pdf document"); - doc = new Document("input_colorout.pdf"); - contents = doc.getPages().get_Item(1).getContents(); - for (int j = 1; j <= contents.size(); j++) { - Operator oper = contents.get_Item(j); - if (oper instanceof Operator.SetCMYKColor || oper instanceof Operator.SetCMYKColorStroke) { - System.out.println(oper.toString()); - } - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/GettingProductAndBuildInformation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/GettingProductAndBuildInformation.java deleted file mode 100644 index d7a0c671..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/GettingProductAndBuildInformation.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Miscellaneous; - -import com.aspose.pdf.BuildVersionInfo; - -public class GettingProductAndBuildInformation { - - public static void main(String[] args) { - // Get version information - System.out.printf("\n Product :- " + BuildVersionInfo.Product); - System.out.printf("\n File Version :- " + BuildVersionInfo.FileVersion); - System.out.printf("\n Assembly Version : {0}", BuildVersionInfo.AssemblyVersion); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/HowToAddDrawingWithTransparentColor.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/HowToAddDrawingWithTransparentColor.java deleted file mode 100644 index 30988fbd..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Miscellaneous/HowToAddDrawingWithTransparentColor.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Miscellaneous; - -import com.aspose.pdf.BorderInfo; -import com.aspose.pdf.BorderSide; -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.GraphInfo; -import com.aspose.pdf.Page; -import com.aspose.pdf.drawing.Graph; -import com.aspose.pdf.drawing.Rectangle; - -public class HowToAddDrawingWithTransparentColor { - - public static void main(String[] args) { - int alpha = 10; - int green = 0; - int red = 100; - int blue = 0; - // create Color object using Alpha RGB - Color alphaColor = Color.fromArgb(alpha, red, green, blue); // provide alpha channel - // instantiate Document object - Document document = new Document(); - // add page to pages collection of PDF file - Page page = document.getPages().add(); - // create Graph object with certain dimensions - Graph graph = new Graph(300, 400); - // set border for Drawing object - graph.setBorder(new BorderInfo(BorderSide.All, Color.getBlack())); - // add graph object to paragraphs collection of Page instance - page.getParagraphs().add(graph); - // create Rectangle object with certain dimensions - Rectangle rectangle = new Rectangle(0, 0, 100, 50); - // create graphInfo object for Rectangle instance - GraphInfo graphInfo = rectangle.getGraphInfo(); - // set color information for GraphInfo instance - graphInfo.setColor(Color.getRed()); - // set fill color for GraphInfo - graphInfo.setFillColor(alphaColor); - // add rectangle shape to shapes collection of graph object - graph.getShapes().add(rectangle); - // save PDF file - document.save("TransparentColor.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/AddImageAsPageBackground.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/AddImageAsPageBackground.java deleted file mode 100644 index 68b0e289..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/AddImageAsPageBackground.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import java.io.FileInputStream; - -import com.aspose.pdf.BackgroundArtifact; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; - -public class AddImageAsPageBackground { - - public static void main(String[] args) throws Exception { - String myDir = "PathToDir"; - // Create a new Document object - Document doc = new Document(); - // Add a new page to document object - Page page = doc.getPages().add(); - // Create BackgroundArtifact object - BackgroundArtifact background = new BackgroundArtifact(); - // Specify the image for backgroundartifact object - background.setBackgroundImage(new FileInputStream(myDir + "logo.png")); - // Add backgroundartifact to artifacts collection of page - page.getArtifacts().add(background); - // Save the document - doc.save(myDir + "BackGround.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/ChangePageOrientation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/ChangePageOrientation.java deleted file mode 100644 index b21ab02c..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/ChangePageOrientation.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.Rotation; - -public class ChangePageOrientation { - - public static void main(String[] args) { - changePageOrientation(); - fittingThePageContentToNewPageOrientation(); - } - - public static void changePageOrientation() { - Document doc = new Document("Input.pdf"); - int pageCount = doc.getPages().size(); - for (int i = 1; i <= pageCount; i++) { - Rectangle r = doc.getPages().get_Item(i).getMediaBox(); - double newHeight = r.getWidth(); - double newWidth = r.getHeight(); - double newLLX = r.getLLX(); - // We must to move page upper in order to compensate changing page - // size - // (lower edge of the page is 0,0 and information is usually placed - // from the top of the page. - // That's why we move lover edge upper on difference between old and - // new height. - double newLLY = r.getLLY() + (r.getHeight() - newHeight); - doc.getPages().get_Item(i).setMediaBox(new Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight)); - // Sometimes we also need to set CropBox (if it was set in original - // file) - doc.getPages().get_Item(i).setCropBox(new Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight)); - - // Setting Rotation angle of page - doc.getPages().get_Item(i).setRotate(Rotation.on90); - } - doc.save("Output.pdf"); - } - - public static void fittingThePageContentToNewPageOrientation() { - Document doc = new Document("Input.pdf"); - Rectangle r = doc.getPages().get_Item(0).getMediaBox(); - // New height the same - double newHeight = r.getHeight(); - // New width is expanded proportionally to make orientation landscape - // (we assume that previous orientation is portrait) - double newWidth = r.getHeight() * r.getHeight() / r.getWidth(); - } - /* - * // Info // Load source PDF file Document doc = new Document("input.pdf"); // Get rectangular region of first page of PDF com.aspose.pdf.Rectangle rect = doc.getPages().get_Item(1).getRect(); // Instantiate PdfPageEditor instance PdfPageEditor ppe = new PdfPageEditor(); // Bind source PDF ppe.bindPdf("input.pdf"); // Set zoom coefficient ppe.setZoom((float) (rect.getWidth() / rect.getHeight())); // Update page size ppe.setPageSize(new com.aspose.pdf.PageSize((float) rect.getHeight(), (float) rect.getWidth())); // Save resultant PDF ppe.save("output.pdf"); Info - */ -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/ConcatenatePDFFiles.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/ConcatenatePDFFiles.java deleted file mode 100644 index 049d9e51..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/ConcatenatePDFFiles.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; - -public class ConcatenatePDFFiles { - - public static void main(String[] args) { - // Open the target document - Document pdfDocument1 = new Document("input1.pdf"); - // Open the source document - Document pdfDocument2 = new Document("input2.pdf"); - // Add the pages of the source document to the target document - pdfDocument1.getPages().add(pdfDocument2.getPages()); - // Save the concatenated output file (the target document) - pdfDocument1.save("Concatenate_output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/DeleteParticularPageFromThePDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/DeleteParticularPageFromThePDFFile.java deleted file mode 100644 index 34892027..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/DeleteParticularPageFromThePDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; - -public class DeleteParticularPageFromThePDFFile { - - public static void main(String[] args) { - // Open a document - Document pdfDocument1 = new Document("Mobile Software.pdf"); - // Delete a page - pdfDocument1.getPages().delete(3); - // Save the new PDF file - pdfDocument1.save("Updated_document.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/DeterminePageColor.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/DeterminePageColor.java deleted file mode 100644 index 7fd3e855..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/DeterminePageColor.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; - -public class DeterminePageColor { - - public static void main(String[] args) { - // Open source PDF file - Document pdfDocument = new Document("input.pdf"); - // Iterate through all the page of PDF file - for (int pageCount = 1; pageCount <= pdfDocument.getPages().size(); pageCount++) { - // Get the color type information for particular PDF page - int pageColorType = pdfDocument.getPages().get_Item(pageCount).getColorType(); - switch (pageColorType) { - case 2: - System.out.println("Page # -" + pageCount + " is Black and white.."); - break; - case 1: - System.out.println("Page # -" + pageCount + " is Gray Scale..."); - break; - case 0: - System.out.println("Page # -" + pageCount + " is RGB.."); - break; - case 3: - System.out.println("Page # -" + pageCount + " Color is undefined.."); - break; - } - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetPageCountOfPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetPageCountOfPDF.java deleted file mode 100644 index d2e4d9a2..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetPageCountOfPDF.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextFragment; - -public class GetPageCountOfPDF { - - public static void main(String[] args) { - GetPageCountOfPDF(); - GetPageCountWithoutSavingPDF(); - } - - public static void GetPageCountOfPDF() { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Get page count - System.out.printf("Page Count :- " + pdfDocument.getPages().size()); - } - - public static void GetPageCountWithoutSavingPDF() { - // instantiate Document instance - Document doc = new Document(); - // add page to pages collection of PDF file - Page page = doc.getPages().add(); - // create a loop to add 300 TextFragment instances - for (int i = 0; i < 300; i++) - // add TextFragment to paragraphs collection of first page of PDF - page.getParagraphs().add(new TextFragment("Pages count test")); - // process paragraphs to get page count information - doc.processParagraphs(); - System.out.println("Number of Pages in PDF = " + doc.getPages().size()); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetPageProperties.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetPageProperties.java deleted file mode 100644 index af0e3d28..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetPageProperties.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.PageCollection; - -public class GetPageProperties { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("input.pdf"); - // Get the page collection - PageCollection pageCollection = pdfDocument.getPages(); - // Get a specific page - Page pdfPage = pageCollection.get_Item(1); - // Get the page properties - System.out.printf("\n ArtBox : Height = " + pdfPage.getArtBox().getHeight() + ", Width = " + pdfPage.getArtBox().getWidth() + ", LLX = " + pdfPage.getArtBox().getLLX() + ", LLY = " + pdfPage.getArtBox().getLLY() + ", URX = " + pdfPage.getArtBox().getURX() + ", URY = " + pdfPage.getArtBox().getURY()); - System.out.printf("\n BleedBox : Height = " + pdfPage.getBleedBox().getHeight() + ", Width = " + pdfPage.getBleedBox().getWidth() + ", LLX = " + pdfPage.getBleedBox().getLLX() + ", LLY = " + pdfPage.getBleedBox().getLLY() + ", URX = " + pdfPage.getBleedBox().getURX() + ", URY = " + pdfPage.getBleedBox().getURY()); - System.out.printf("\n CropBox : Height = " + pdfPage.getCropBox().getHeight() + ", Width = " + pdfPage.getCropBox().getWidth() + ", LLX = " + pdfPage.getCropBox().getLLX() + ", LLY = " + pdfPage.getCropBox().getLLY() + ", URX = " + pdfPage.getCropBox().getURX() + ", URY = " + pdfPage.getCropBox().getURY()); - System.out.printf("\n MediaBox : Height = " + pdfPage.getMediaBox().getHeight() + ", Width = " + pdfPage.getMediaBox().getWidth() + ", LLX = " + pdfPage.getMediaBox().getLLX() + ", LLY = " + pdfPage.getMediaBox().getLLY() + ", URX = " + pdfPage.getMediaBox().getURX() + ", URY = " + pdfPage.getMediaBox().getURY()); - System.out.printf("\n TrimBox : Height = " + pdfPage.getTrimBox().getHeight() + ", Width = " + pdfPage.getTrimBox().getWidth() + ", LLX = " + pdfPage.getTrimBox().getLLX() + ", LLY = " + pdfPage.getTrimBox().getLLY() + ", URX = " + pdfPage.getTrimBox().getURX() + ", URY = " + pdfPage.getTrimBox().getURY()); - System.out.printf("\n Rect : Height = " + pdfPage.getRect().getHeight() + ", Width = " + pdfPage.getRect().getWidth() + ", LLX = " + pdfPage.getRect().getLLX() + ", LLY = " + pdfPage.getRect().getLLY() + ", URX = " + pdfPage.getRect().getURX() + ", URY = " + pdfPage.getRect().getURY()); - System.out.printf("\n Page Number :- " + pdfPage.getNumber()); - System.out.printf("\n Rotate :-" + pdfPage.getRotate()); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetParticularPageInPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetParticularPageInPDFFile.java deleted file mode 100644 index 59bd43f1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/GetParticularPageInPDFFile.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; - -public class GetParticularPageInPDFFile { - - public static void main(String[] args) { - // Open the first document - Document pdfDocument1 = new Document("Mobile Software.pdf"); - // Get the page at a particular index of the Page Collection - Page pdfPage = pdfDocument1.getPages().get_Item(3); - // Create a new Document object - Document newDocument = new Document(); - // Add the page to the Pages collection of new document object - newDocument.getPages().add(pdfPage); - // Save the new file - newDocument.save("page_" + pdfPage.getNumber() + ".pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/InsertAnEmptyPageIntoPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/InsertAnEmptyPageIntoPDFFile.java deleted file mode 100644 index 696facd1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/InsertAnEmptyPageIntoPDFFile.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; -import com.aspose.pdf.examples.Utils; - -public class InsertAnEmptyPageIntoPDFFile { - - public static void main(String[] args) { - String dataDir = Utils.getSharedDataDir(InsertAnEmptyPageIntoPDFFile.class) + "pages/"; - // Open a document - Document pdfDocument1 = new Document(dataDir + "input.pdf"); - // Insert an empty page into a PDF - pdfDocument1.getPages().insert(1); - // Save the output file - pdfDocument1.save(dataDir + "output.pdf"); - /* - * //Info - * // Insert a empty page at the end of PDF pdfDocument1.getPages().add(); - * // ExEnd:Info - */ - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/SplitPDFFileIntoIndividualPages.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/SplitPDFFileIntoIndividualPages.java deleted file mode 100644 index 9c049eaf..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/SplitPDFFileIntoIndividualPages.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; - -public class SplitPDFFileIntoIndividualPages { - - public static void main(String[] args) { - // Open a document - Document pdfDocument1 = new Document("input.pdf"); - - // Loop through the pages - for (int pdfPage = 1; pdfPage <= pdfDocument1.getPages().size(); pdfPage++) { - // Create a new Document object - Document newDocument = new Document(); - // Get the page at a given index of the Page Collection - newDocument.getPages().add(pdfDocument1.getPages().get_Item(pdfPage)); - // Save the new PDF file - newDocument.save("page_" + pdfPage + ".pdf"); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/UpdatePageDimensions.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/UpdatePageDimensions.java deleted file mode 100644 index 7a1d9924..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Pages/UpdatePageDimensions.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Pages; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.PageCollection; - -public class UpdatePageDimensions { - - public static void main(String[] args) { - // Open a document - Document pdfDocument1 = new Document("input.pdf"); - // Get the page collection - PageCollection pageCollection = pdfDocument1.getPages(); - // Get a particular page - Page pdfPage = pageCollection.get_Item(1); - // Set the page size as A4 (11.7 x 8.3 in). In Aspose.Pdf, 1 inch = 72 points - // so A4 dimensions in points is (842.4, 597.6). - pdfPage.setPageSize(597.6, 842.4); - // Save the new PDF - pdfDocument1.save("Updated_document.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/ApplyMeteredLicense.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/ApplyMeteredLicense.java deleted file mode 100644 index a049384a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/ApplyMeteredLicense.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.QuickStart; - -public class ApplyMeteredLicense { - - public static void main(String[] args) { - - } - - @SuppressWarnings("static-access") - public void Run() - { - String publicKey = ""; - String privateKey = ""; - - com.aspose.pdf.Metered m = new com.aspose.pdf.Metered(); - m.setMeteredKey(publicKey, privateKey); - - // Optionally, the following two lines returns true if a valid license has been applied; - // false if the component is running in evaluation mode. - com.aspose.pdf.Document lic = new com.aspose.pdf.Document(); - System.out.println("License is set = " + lic.isLicensed()); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/SetLicenseFromFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/SetLicenseFromFile.java deleted file mode 100644 index 2e97a9db..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/SetLicenseFromFile.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.QuickStart; - -public class SetLicenseFromFile { - - public static void main(String[] args) throws Exception { - - } - - public void Run() - { - // Initialize License Instance - com.aspose.pdf.License license = new com.aspose.pdf.License(); - // Call setLicense method to set license - try { - license.setLicense("Aspose.Pdf.Java.lic"); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/SetLicenseFromStream.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/SetLicenseFromStream.java deleted file mode 100644 index cb076896..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/SetLicenseFromStream.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.QuickStart; - -import java.io.FileNotFoundException; - -public class SetLicenseFromStream { - - public static void main(String[] args) throws FileNotFoundException, Exception { - - } - - public void Run() - { - // Initialize License Object - com.aspose.pdf.License license = new com.aspose.pdf.License(); - // Set license from Stream - try { - license.setLicense(new java.io.FileInputStream("Aspose.Pdf.Java.lic")); - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/UsingMultipleProducts.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/UsingMultipleProducts.java deleted file mode 100644 index eca1a0d1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/UsingMultipleProducts.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.QuickStart; - -public class UsingMultipleProducts { - - public static void main(String[] args) { - Run(); - } - public static void Run(){ - // Instantiate the License class of Aspose.Pdf - com.aspose.pdf.License license = new com.aspose.pdf.License(); - // Set the license - try { - license.setLicense("Aspose.Total.Java.lic"); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - // Setting license for Aspose.Words for Java - - // Instantiate the License class of Aspose.Words - com.aspose.words.License licenseaw = new com.aspose.words.License(); - // Set the license - try { - licenseaw.setLicense("Aspose.Total.Java.lic"); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/ValidateLicense.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/ValidateLicense.java deleted file mode 100644 index 4c528c36..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/QuickStart/ValidateLicense.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.QuickStart; - -public class ValidateLicense { - - public static void main(String[] args) throws Exception { - - } - public void Run() - { - com.aspose.pdf.License license = new com.aspose.pdf.License(); - try { - license.setLicense("Aspose.Pdf.Java.lic"); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - // Check if license has been validated - if (com.aspose.pdf.Document.isLicensed()) { - System.out.println("License is Set!"); - } - } -} \ No newline at end of file diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/AddDigitalSignatureToPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/AddDigitalSignatureToPDFFile.java deleted file mode 100644 index afd58449..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/AddDigitalSignatureToPDFFile.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.SecurityAndSignatures; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; - -import com.aspose.pdf.Document; -import com.aspose.pdf.PKCS1; -import com.aspose.pdf.facades.PdfFileSignature; - -public class AddDigitalSignatureToPDFFile { - - public static void main(String[] args) { - String dataDir = "PathToDir"; - // Instantiate Document object - Document doc = new Document(); - // Add a page to PDF document - doc.getPages().add(); - OutputStream out = new java.io.ByteArrayOutputStream(); - // Save document to Stream object - doc.save(out); - // Create PdfFileSignature instance - PdfFileSignature pdfSignSingle = new PdfFileSignature(); - // Bind the source PDF by reading contents of Stream - pdfSignSingle.bindPdf(new ByteArrayInputStream(((ByteArrayOutputStream) out).toByteArray())); - // Sign the PDF file using PKCS1 object - pdfSignSingle.sign(1, true, new java.awt.Rectangle(100, 100, 150, 50), new PKCS1(dataDir + "VirtualCabinetPortal (1).pfx", "password")); - // Set image for signature appearance - pdfSignSingle.setSignatureAppearance(dataDir + "im.jpg"); - // Save final output - pdfSignSingle.save(dataDir + "out_PDFNEWJAVA_33311.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/DecryptPDFFileUsingOwnerPassword.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/DecryptPDFFileUsingOwnerPassword.java deleted file mode 100644 index 42eab847..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/DecryptPDFFileUsingOwnerPassword.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.SecurityAndSignatures; - -import com.aspose.pdf.Document; - -public class DecryptPDFFileUsingOwnerPassword { - - public static void main(String[] args) { - // open document - Document document = new Document("input.pdf", "password"); - // decrypt PDF - document.decrypt(); - // save updated PDF - document.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/EncryptPDFDocumentUsingEncryptionTypes.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/EncryptPDFDocumentUsingEncryptionTypes.java deleted file mode 100644 index 80121c8a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/EncryptPDFDocumentUsingEncryptionTypes.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.SecurityAndSignatures; - -import com.aspose.pdf.CryptoAlgorithm; -import com.aspose.pdf.Document; - -public class EncryptPDFDocumentUsingEncryptionTypes { - - public static void main(String[] args) { - // open document - Document document = new Document("input.pdf"); - // encrypt PDF - document.encrypt("user", "owner", 0, CryptoAlgorithm.AESx256); - // save updated PDF - document.save("Encrypted_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/ExtractingImageFromSignatureField.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/ExtractingImageFromSignatureField.java deleted file mode 100644 index f7c0450e..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/ExtractingImageFromSignatureField.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.SecurityAndSignatures; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Field; -import com.aspose.pdf.SignatureField; - -public class ExtractingImageFromSignatureField { - - public static void main(String[] args) { - String myDir = "PathToString"; - // Load source PDF file - Document pdfDocument = new Document(myDir + "test.pdf"); - int i = 0; - try { - for (Field field : (Iterable) pdfDocument.getForm()) { - SignatureField sf = (SignatureField) field; - if (sf != null) { - FileOutputStream output = new FileOutputStream(myDir + "im" + i + ".jpeg"); - InputStream tempStream = sf.extractImage(); - byte[] b = new byte[tempStream.available()]; - tempStream.read(b); - output.write(b); - } - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (pdfDocument != null) - pdfDocument.dispose(); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/HowToDetermineIfTheSourcePDFIsPasswordProtected.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/HowToDetermineIfTheSourcePDFIsPasswordProtected.java deleted file mode 100644 index c8b30e88..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/HowToDetermineIfTheSourcePDFIsPasswordProtected.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.SecurityAndSignatures; - -import com.aspose.pdf.Document; -import com.aspose.pdf.PasswordType; -import com.aspose.pdf.exceptions.InvalidPasswordException; -import com.aspose.pdf.facades.PdfFileInfo; - -public class HowToDetermineIfTheSourcePDFIsPasswordProtected { - public static void main(String[] args) { - howToDetermineIfTheSourcePDFIsPasswordProtected(); - getInformationAboutPDFDocumentSecurity(); - determineCorrectPasswordFromArray(); - } - - public static void howToDetermineIfTheSourcePDFIsPasswordProtected() { - // load the source PDF document - PdfFileInfo fileInfo = new PdfFileInfo("source.pdf"); - // determine that source PDF file is Encrypted with password - Boolean encrypted = fileInfo.isEncrypted(); - // MessageBox displays the current status related to PDf encryption - System.out.println(encrypted.toString()); - } - - public static void getInformationAboutPDFDocumentSecurity() { - // instantiate FielInfo object - PdfFileInfo fileInfo = new PdfFileInfo(); - // bind source PDF file - fileInfo.bindPdf("source.pdf"); - // print if source file is password encrypted - System.out.println("Is document encrypted = " + fileInfo.isEncrypted()); - // determine if the password type for document is User - if (fileInfo.getPasswordType() == PasswordType.User) - ; - // print password type information - System.out.println("Password type = " + fileInfo.getPasswordType() + " (type = User)"); - fileInfo = new PdfFileInfo(); - fileInfo.bindPdf("source.pdf", "user"); - // print if document is encrypted - System.out.println("Document is encrypted = " + fileInfo.isEncrypted()); - // determine if the password type for document is Owner - if (fileInfo.getPasswordType() == PasswordType.Owner) - ; - // print password type information - System.out.println("Password type = " + fileInfo.getPasswordType() + " (type = Owner)"); - // print if document has open password specified - System.out.println("Document has Open Password = " + fileInfo.hasOpenPassword()); - // print if document has edit password specified - System.out.println("Document has Edit Password = " + fileInfo.hasEditPassword()); - fileInfo = new PdfFileInfo(); - fileInfo.bindPdf("c:/pdftest/source.pdf"); - // print if document is encrypted - System.out.println("Document is encrypted = " + fileInfo.isEncrypted()); - if (fileInfo.getPasswordType() == PasswordType.Inaccessible) - ; - // print password type information - System.out.println("Password type = " + fileInfo.getPasswordType() + " (type = Inaccessible)"); - if (fileInfo.hasOpenPassword()) - ; - // Document has open password enable - System.out.println("Document has open password enabled = " + fileInfo.hasOpenPassword()); - try { - boolean hasOwnerPassword = fileInfo.hasEditPassword(); - System.out.println("When PasswordType is Inaccessible we can't read HasEditPassword property."); - } catch (Exception e) { - // write what we expect - } - } - - /* - * // load source PDF file PdfFileInfo info = new PdfFileInfo(); info.bindPdf("source.pdf"); // determine if the source PDF is encrypted System.out.println("File is password protected " + info.isEncrypted()); String[] passwords = new String[] { "test", "test1", "user", "test3", "sample" }; for (int passwordcount = 0; passwordcount < passwords.length; passwordcount++) { try { Document doc = new Document("source.pdf", passwords[passwordcount]); if (doc.getPages().size() > 0) { System.out.println("Password = " + passwords[passwordcount] + " is correct"); System.out.println("Number of Page in document are = " + doc.getPages().size()); } } catch (InvalidPasswordException ex) { System.out.println("------------------------------------------"); System.out.println("Password = " + passwords[passwordcount] + " is not correct"); } } - */ - public static void determineCorrectPasswordFromArray() { - // load source PDF file - PdfFileInfo info = new PdfFileInfo(); - info.bindPdf("source.pdf"); - // determine if the source PDF is encrypted - System.out.println("File is password protected " + info.isEncrypted()); - String[] passwords = new String[] { "test", "test1", "user", "test3", "sample" }; - for (int passwordcount = 0; passwordcount < passwords.length; passwordcount++) { - try { - Document doc = new Document("source.pdf", passwords[passwordcount]); - if (doc.getPages().size() > 0) { - System.out.println("Password = " + passwords[passwordcount] + " is correct"); - System.out.println("Number of Page in document are = " + doc.getPages().size()); - } - } catch (InvalidPasswordException ex) { - System.out.println("------------------------------------------"); - System.out.println("Password = " + passwords[passwordcount] + " is not correct"); - } - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/SetPrivilegesOnAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/SetPrivilegesOnAnExistingPDFFile.java deleted file mode 100644 index edee59f6..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/SecurityAndSignatures/SetPrivilegesOnAnExistingPDFFile.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.SecurityAndSignatures; - -import com.aspose.pdf.CryptoAlgorithm; -import com.aspose.pdf.Document; -import com.aspose.pdf.facades.DocumentPrivilege; - -public class SetPrivilegesOnAnExistingPDFFile { - - public static void main(String[] args) { - Document document = new Document("inputFile.pdf"); - try /* JAVA: was using */ - { - DocumentPrivilege documentPrivilege = DocumentPrivilege.getForbidAll(); - documentPrivilege.setAllowScreenReaders(true); - documentPrivilege.setAllowPrint(true); - - document.encrypt("user", "owner", documentPrivilege, CryptoAlgorithm.AESx128, false); - document.save("outputFile.pdf"); - } finally { - if (document != null) - document.dispose(); - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddPageNumberStampInPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddPageNumberStampInPDF.java deleted file mode 100644 index e587c256..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddPageNumberStampInPDF.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.FontStyles; -import com.aspose.pdf.HorizontalAlignment; -import com.aspose.pdf.PageNumberStamp; - -public class AddPageNumberStampInPDF { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("input.pdf"); - // create page number stamp - PageNumberStamp pageNumberStamp = new PageNumberStamp(); - // whether the stamp is background - pageNumberStamp.setBackground(false); - pageNumberStamp.setFormat("Page # of " + pdfDocument.getPages().size()); - pageNumberStamp.setBottomMargin(10); - pageNumberStamp.setHorizontalAlignment(HorizontalAlignment.Center); - pageNumberStamp.setStartingNumber(1); - // set text properties - pageNumberStamp.getTextState().setFont(FontRepository.findFont("Arial")); - pageNumberStamp.getTextState().setFontSize(14.0F); - pageNumberStamp.getTextState().setFontStyle(FontStyles.Bold); - pageNumberStamp.getTextState().setFontStyle(FontStyles.Italic); - pageNumberStamp.getTextState().setForegroundColor(Color.getBlue()); - // add stamp to particular page - pdfDocument.getPages().get_Item(1).addStamp(pageNumberStamp); - // save output document - pdfDocument.save("PageNumberStamp_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingDifferentHeadersInOnePDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingDifferentHeadersInOnePDFFile.java deleted file mode 100644 index 77cf1c74..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingDifferentHeadersInOnePDFFile.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.FontStyles; -import com.aspose.pdf.HorizontalAlignment; -import com.aspose.pdf.TextStamp; -import com.aspose.pdf.VerticalAlignment; - -public class AddingDifferentHeadersInOnePDFFile { - - public static void main(String[] args) { - // open source document - Document doc = new Document(); - doc.getPages().add(); - doc.getPages().add(); - doc.getPages().add(); - // create three stamps - TextStamp stamp1 = new TextStamp("Header 1"); - TextStamp stamp2 = new TextStamp("Header 2"); - TextStamp stamp3 = new TextStamp("Header 3"); - // set stamp alignment (place stamp on page top, centered horiznotally) - stamp1.setVerticalAlignment(VerticalAlignment.Top); - stamp1.setHorizontalAlignment(HorizontalAlignment.Center); - // specify the font style as Bold - stamp1.getTextState().setFontStyle(FontStyles.Bold); - // set the text fore ground color information as red - stamp1.getTextState().setForegroundColor(Color.getRed()); - // specify the font size as 14 - stamp1.getTextState().setFontSize(14); - // now we need to set the vertical alignment of 2nd stamp object as Top - stamp2.setVerticalAlignment(VerticalAlignment.Top); - // set Horizontal alignment information for stamp as Center aligned - stamp2.setHorizontalAlignment(HorizontalAlignment.Center); - // set the zooming factor for stamp object - stamp2.setZoom(10); - // set the formatting of 3rd stamp object - // specify the Vertical alignment information for stamp object as TOP - stamp3.setVerticalAlignment(VerticalAlignment.Top); - // Set the Horizontal alignment inforamtion for stamp object as Center aligned - stamp3.setHorizontalAlignment(HorizontalAlignment.Center); - // set the rotation angle for stamp object - stamp3.setRotateAngle(35); - // set pink as background color for stamp - stamp3.getTextState().setBackgroundColor(Color.getPink()); - // change the font face information for stamp to Verdana - stamp3.getTextState().setFont(FontRepository.findFont("Verdana")); - // first stamp is added on first page; - doc.getPages().get_Item(1).addStamp(stamp1); - // second stamp is added on second page; - doc.getPages().get_Item(2).addStamp(stamp2); - // third stamp is added on third page. - doc.getPages().get_Item(3).addStamp(stamp3); - // save the updated document - doc.save("multiheader.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingImageStampInPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingImageStampInPDFFile.java deleted file mode 100644 index f4bad884..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingImageStampInPDFFile.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.ImageStamp; -import com.aspose.pdf.Rotation; - -public class AddingImageStampInPDFFile { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("input.pdf"); - // create image stamp - ImageStamp imageStamp = new ImageStamp("sample.jpg"); - imageStamp.setBackground(true); - imageStamp.setXIndent(100); - imageStamp.setYIndent(100); - imageStamp.setHeight(300); - imageStamp.setWidth(300); - imageStamp.setRotate(Rotation.on270); - imageStamp.setOpacity(0.5); - // add stamp to particular page - pdfDocument.getPages().get_Item(1).addStamp(imageStamp); - // save output document - pdfDocument.save("PageNumberStamp_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingPDFPageStampInThePDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingPDFPageStampInThePDFFile.java deleted file mode 100644 index b516d9e5..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingPDFPageStampInThePDFFile.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.PdfPageStamp; -import com.aspose.pdf.Rotation; - -public class AddingPDFPageStampInThePDFFile { - - public static void main(String[] args) { - String myDir = "PathToDir"; - // open document - Document pdfDocument = new Document(myDir + "input.pdf"); - Document pdfDocument1 = new Document(myDir + "stamp.pdf"); - // create page stamp - PdfPageStamp pageStamp = new PdfPageStamp(pdfDocument1.getPages().get_Item(1)); - pageStamp.setBackground(true); - pageStamp.setXIndent(100); - pageStamp.setYIndent(100); - pageStamp.setRotate(Rotation.on180); - // add stamp to particular page - pdfDocument.getPages().get_Item(1).addStamp(pageStamp); - // save output document - pdfDocument.save(myDir + "output_pdfpagestamp.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingTextInHeaderOrFooterOfPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingTextInHeaderOrFooterOfPDFFile.java deleted file mode 100644 index 7583fe87..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingTextInHeaderOrFooterOfPDFFile.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.FontStyles; -import com.aspose.pdf.HorizontalAlignment; -import com.aspose.pdf.TextStamp; -import com.aspose.pdf.VerticalAlignment; - -public class AddingTextInHeaderOrFooterOfPDFFile { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("input.pdf"); - // create text stamp - TextStamp textStamp = new TextStamp("Sample Stamp"); - // set properties of the stamp - textStamp.setTopMargin(10); - textStamp.setHorizontalAlignment(HorizontalAlignment.Center); - textStamp.setVerticalAlignment(VerticalAlignment.Top); - // set text properties - textStamp.getTextState().setFont(new FontRepository().findFont("Arial")); - textStamp.getTextState().setFontSize(14.0F); - textStamp.getTextState().setFontStyle(FontStyles.Bold); - textStamp.getTextState().setFontStyle(FontStyles.Italic); - textStamp.getTextState().setForegroundColor(Color.getGreen()); - // iterate through all pages of PDF file - for (int Page_counter = 1; Page_counter <= pdfDocument.getPages().size(); Page_counter++) { - // add stamp to all pages of PDF file - pdfDocument.getPages().get_Item(Page_counter).addStamp(textStamp); - } - // save output document - pdfDocument.save("TextStamp_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingTextStampInPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingTextStampInPDFFile.java deleted file mode 100644 index 1b5b5d92..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/AddingTextStampInPDFFile.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.FontStyles; -import com.aspose.pdf.Rotation; -import com.aspose.pdf.TextStamp; - -public class AddingTextStampInPDFFile { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("input.pdf"); - // create text stamp - TextStamp textStamp = new TextStamp("Sample Stamp"); - // set whether stamp is background - textStamp.setBackground(true); - // set origin - textStamp.setXIndent(100); - textStamp.setYIndent(100); - // rotate stamp - textStamp.setRotate(Rotation.on90); - // set text properties - textStamp.getTextState().setFont(new FontRepository().findFont("Arial")); - textStamp.getTextState().setFontSize(14.0F); - textStamp.getTextState().setFontStyle(FontStyles.Bold); - textStamp.getTextState().setFontStyle(FontStyles.Italic); - textStamp.getTextState().setForegroundColor(Color.getGreen()); - // add stamp to particular page - pdfDocument.getPages().get_Item(1).addStamp(textStamp); - // save output document - pdfDocument.save("TextStamp_output.pdf"); -/* - // ExStart:InfoClass - // iterate through all pages of PDF file - for (int Page_counter = 1; Page_counter <= pdfDocument.getPages().size(); Page_counter++) { - // add stamp to all pages of PDF file - pdfDocument.getPages().get_Item(Page_counter).addStamp(textStamp); - } - // ExEnd:InfoClass -*/ - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/ControlImageQualityWhenAddingImageStamp.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/ControlImageQualityWhenAddingImageStamp.java deleted file mode 100644 index 0ba49731..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/ControlImageQualityWhenAddingImageStamp.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.ImageStamp; -import com.aspose.pdf.facades.PdfFileStamp; -import com.aspose.pdf.facades.Stamp; - -public class ControlImageQualityWhenAddingImageStamp { - - public static void main(String[] args) { - domApproch(); - facadesApproach(); - } - - public static void domApproch() { - Document doc = new Document("PdfWithText.pdf"); - ImageStamp stamp = new ImageStamp("butterfly.jpg"); - // Specify the quality of stamp image - stamp.setQuality(10); - doc.getPages().get_Item(1).addStamp(stamp); - // Save updated document - doc.save("out.pdf"); - } - - public static void facadesApproach() { - PdfFileStamp pfs = new PdfFileStamp(); - pfs.bindPdf("PdfWithText.pdf"); - Stamp stamp1 = new Stamp(); - stamp1.bindImage("butterfly.jpg"); - stamp1.setQuality(10); - pfs.addStamp(stamp1); - pfs.save("34959-1.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/DefineAlignmentForTextStampObject.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/DefineAlignmentForTextStampObject.java deleted file mode 100644 index da22dff1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/StampsAndWatermarks/DefineAlignmentForTextStampObject.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.StampsAndWatermarks; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HorizontalAlignment; -import com.aspose.pdf.TextStamp; -import com.aspose.pdf.VerticalAlignment; -import com.aspose.pdf.facades.FormattedText; - -public class DefineAlignmentForTextStampObject { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("input.pdf"); - // instantiate FormattedText object with sample string - FormattedText text = new FormattedText("This"); - // add new text line to FormattedText - text.addNewLineText("is sample"); - text.addNewLineText("Center Aligned"); - text.addNewLineText("TextStamp"); - text.addNewLineText("Object"); - // create TextStamp object using FormattedText - TextStamp stamp = new TextStamp(text); - // specify the Horizontal Alignment of text stamp as Center aligned - stamp.setHorizontalAlignment(HorizontalAlignment.Center); - // specify the Vertical Alignment of text stamp as Center aligned - stamp.setVerticalAlignment(VerticalAlignment.Center); - // specify the Text Horizontal Alignment of TextStamp as Center aligned - stamp.setTextAlignment(HorizontalAlignment.Center); - // set top margin for stamp object - stamp.setTopMargin(20); - // add stamp to all pages of PDF file - pdfDocument.getPages().get_Item(1).addStamp(stamp); - // save output document - pdfDocument.save("TextStamp_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/AddTableInExistingPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/AddTableInExistingPDFDocument.java deleted file mode 100644 index 8029f6af..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/AddTableInExistingPDFDocument.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Tables; - -import com.aspose.pdf.BorderInfo; -import com.aspose.pdf.BorderSide; -import com.aspose.pdf.Color; -import com.aspose.pdf.ColumnAdjustment; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.Row; -import com.aspose.pdf.Table; -import com.aspose.pdf.examples.Utils; - -public class AddTableInExistingPDFDocument { - - public static void main(String[] args) { - // The path to the resource directory. - String dataDir = Utils.getSharedDataDir(AddTableInExistingPDFDocument.class) + "AsposePdfExamples/Tables/"; - - addTableInExistingPDFDocument(dataDir); - setAutoFitToWindowPropertyInColumnAdjustmentTypeEnumeration(dataDir); - } - - public static void addTableInExistingPDFDocument(String dataDir) { - // Load source PDF document - Document doc = new Document(dataDir + "input.pdf"); - // Initializes a new instance of the Table - Table table = new Table(); - // Set the table border color as LightGray - table.setBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray())); - // set the border for table cells - table.setDefaultCellBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray())); - // create a loop to add 10 rows - for (int row_count = 1; row_count < 10; row_count++) { - // add row to table - Row row = table.getRows().add(); - // add table cells - row.getCells().add("Column (" + row_count + ", 1)"); - row.getCells().add("Column (" + row_count + ", 2)"); - row.getCells().add("Column (" + row_count + ", 3)"); - } - // Add table object to first page of input document - doc.getPages().get_Item(1).getParagraphs().add(table); - // Save updated document containing table object - doc.save(dataDir + "document_with_table.pdf"); - } - - public static void setAutoFitToWindowPropertyInColumnAdjustmentTypeEnumeration(String dataDir) { - //Instantiate the PDF object by calling its empty constructor - Document doc = new Document(); - //Create the section in the PDF object - Page page = doc.getPages().add(); - - //Instantiate a table object - Table tab = new Table(); - //Add the table in paragraphs collection of the desired section - page.getParagraphs().add(tab); - - //Set with column widths of the table - tab.setColumnWidths("50 50 50"); - tab.setColumnAdjustment(ColumnAdjustment.AutoFitToWindow); - - //Set default cell border using BorderInfo object - tab.setDefaultCellBorder(new com.aspose.pdf.BorderInfo(com.aspose.pdf.BorderSide.All, 0.1F)); - - //Set table border using another customized BorderInfo object - tab.setBorder(new com.aspose.pdf.BorderInfo(com.aspose.pdf.BorderSide.All, 1F)); - //Create MarginInfo object and set its left, bottom, right and top margins - com.aspose.pdf.MarginInfo margin = new com.aspose.pdf.MarginInfo(); - margin.setTop(5f); - margin.setLeft(5f); - margin.setRight(5f); - margin.setBottom(5f); - - //Set the default cell padding to the MarginInfo object - tab.setDefaultCellPadding(margin); - - //Create rows in the table and then cells in the rows - com.aspose.pdf.Row row1 = tab.getRows().add(); - row1.getCells().add("col1"); - row1.getCells().add("col2"); - row1.getCells().add("col3"); - com.aspose.pdf.Row row2 = tab.getRows().add(); - row2.getCells().add("item1"); - row2.getCells().add("item2"); - row2.getCells().add("item3"); - - //Save the PDF - doc.save(dataDir + "ResultantFile.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/ForceTableRenderingOnNewPage.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/ForceTableRenderingOnNewPage.java deleted file mode 100644 index b6c2c27f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/ForceTableRenderingOnNewPage.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Tables; - -import com.aspose.pdf.Cell; -import com.aspose.pdf.Document; -import com.aspose.pdf.MarginInfo; -import com.aspose.pdf.Page; -import com.aspose.pdf.PageInfo; -import com.aspose.pdf.Paragraphs; -import com.aspose.pdf.Row; -import com.aspose.pdf.Table; -import com.aspose.pdf.TextFragment; - -public class ForceTableRenderingOnNewPage { - - public static void main(String[] args) { - // Added document - Document doc = new Document(); - PageInfo pageInfo = doc.getPageInfo(); - MarginInfo marginInfo = pageInfo.getMargin(); - marginInfo.setLeft(37); - marginInfo.setRight(37); - marginInfo.setTop(37); - marginInfo.setBottom(37); - pageInfo.setLandscape(true); - Table table = new Table(); - table.setColumnWidths("50 100"); - // Added page. - Page curPage = doc.getPages().add(); - for (int i = 1; i <= 120; i++) { - Row row = table.getRows().add(); - row.setFixedRowHeight(15); - Cell cell1 = row.getCells().add(); - cell1.getParagraphs().add(new TextFragment("Content 1")); - Cell cell2 = row.getCells().add(); - cell2.getParagraphs().add(new TextFragment("HHHHH")); - } - Paragraphs paragraphs = curPage.getParagraphs(); - paragraphs.add(table); - /********************************************/ - Table table1 = new Table(); - table.setColumnWidths("100 100"); - for (int i = 1; i <= 10; i++) { - Row row = table1.getRows().add(); - Cell cell1 = row.getCells().add(); - cell1.getParagraphs().add(new TextFragment("LAAAAAAA")); - Cell cell2 = row.getCells().add(); - cell2.getParagraphs().add(new TextFragment("LAAGGGGGG")); - } - table1.setInNewPage(true); - // I want to keep table 1 to next page please... - paragraphs.add(table1); - doc.save("outFile.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/ManipulateTablesInExistingPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/ManipulateTablesInExistingPDF.java deleted file mode 100644 index 8a76f50a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/ManipulateTablesInExistingPDF.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Tables; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Row; -import com.aspose.pdf.TableAbsorber; -import com.aspose.pdf.TextFragment; - -public class ManipulateTablesInExistingPDF { - - /* - * Update contents in particular table cell - */ - public static void main(String[] args) { - // load existing PDF file - Document pdfDocument = new Document("table.pdf"); - // Create TableAbsorber object to find tables - TableAbsorber absorber = new TableAbsorber(); - // Visit first page with absorber - absorber.visit(pdfDocument.getPages().get_Item(1)); - // Get access to first table on page, their first cell and text - // fragments in it - TextFragment fragment = absorber.getTableList().get_Item(0).getRowList().get_Item(0).getCellList().get_Item(0).getTextFragments().get_Item(1); - // Change text of the first text fragment in the cell - fragment.setText("Hello World !"); - // save updated document - pdfDocument.save("Table_Manipulated.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/RemoveTablesFromExistingPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/RemoveTablesFromExistingPDF.java deleted file mode 100644 index a9af02b9..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/RemoveTablesFromExistingPDF.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Tables; - -import com.aspose.pdf.AbsorbedCell; -import com.aspose.pdf.AbsorbedRow; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.TableAbsorber; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.facades.PdfAnnotationEditor; - -public class RemoveTablesFromExistingPDF { - - public static void main(String[] args) { - PdfAnnotationEditor editor = new PdfAnnotationEditor(); - editor.bindPdf("table2.pdf"); - // Create TableAbsorber object to find tables - TableAbsorber absorber = new TableAbsorber(); - // Visit first page with absorber - absorber.visit(editor.getDocument().getPages().get_Item(1)); - // Getting the table rectangle - Rectangle rect = absorber.getTableList().get_Item(0).getRectangle(); - // clear text for the table - for (AbsorbedRow row : absorber.getTableList().get_Item(0).getRowList()) { - for (AbsorbedCell cell : row.getCellList()) { - for (Object fragment : cell.getTextFragments()) { - ((TextFragment) fragment).setText(""); - } - } - } - // Need to add a pixel to delete the border - rect.setLLX(rect.getLLX() - 1); - rect.setLLY(rect.getLLY() - 1); - rect.setURX(rect.getURX() + 1); - rect.setURY(rect.getURY() + 1); - editor.redactArea(1, rect, java.awt.Color.WHITE); - editor.save("out_table_deleted.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/SetBorderStyleMarginsAndPaddingOfTable.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/SetBorderStyleMarginsAndPaddingOfTable.java deleted file mode 100644 index 5ec16e9b..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Tables/SetBorderStyleMarginsAndPaddingOfTable.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Tables; - -import com.aspose.pdf.BorderInfo; -import com.aspose.pdf.BorderSide; -import com.aspose.pdf.Document; -import com.aspose.pdf.MarginInfo; -import com.aspose.pdf.Row; -import com.aspose.pdf.Table; - -public class SetBorderStyleMarginsAndPaddingOfTable { - - public static void main(String[] args) { - // Create Document instance - Document doc = new Document(); - // Add page to PDF document - doc.getPages().add(); - // Instantiate a table object - Table table = new Table(); - // Add the table in paragraphs collection of the desired section - doc.getPages().get_Item(1).getParagraphs().add(table); - // Set with column widths of the table - table.setColumnWidths("50 50 50"); - // Set default cell border using BorderInfo object - table.setDefaultCellBorder(new BorderInfo(BorderSide.All, 0.1F)); - // Set table border using another customized BorderInfo object - table.setBorder(new BorderInfo(BorderSide.All, 1F)); - // Create MarginInfo object and set its left, bottom, right and top margins - MarginInfo margin = new MarginInfo(); - margin.setLeft(5f); - margin.setRight(5f); - margin.setTop(5f); - margin.setBottom(5f); - // Set the default cell padding to the MarginInfo object - table.setDefaultCellPadding(margin); - // Create rows in the table and then cells in the rows - Row row1 = table.getRows().add(); - row1.getCells().add("col1"); - row1.getCells().add("col2"); - row1.getCells().add("col3"); - Row row2 = table.getRows().add(); - row2.getCells().add("item1"); - row2.getCells().add("item2"); - row2.getCells().add("item3"); - // Save the PDF document - doc.save("TableDOM_new.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/AddHTMLStringUsingDOM.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/AddHTMLStringUsingDOM.java deleted file mode 100644 index 6dbc80a8..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/AddHTMLStringUsingDOM.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Document; -import com.aspose.pdf.HtmlFragment; -import com.aspose.pdf.MarginInfo; -import com.aspose.pdf.Page; - -public class AddHTMLStringUsingDOM { - - public static void main(String[] args) { - // Instantiate Document object - Document doc = new Document(); - // Add a page to pages collection of PDF file - Page page = doc.getPages().add(); - // Instantiate HtmlFragment with HTML contents - HtmlFragment titel = new HtmlFragment("Table"); - // set MarginInfo for margin details - MarginInfo Margin = new MarginInfo(); - Margin.setBottom(10); - Margin.setTop(200); - // Set margin information - titel.setMargin(Margin); - // Add HTML Fragment to paragraphs collection of page - page.getParagraphs().add(titel); - // Save PDF file - doc.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/AddTextToAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/AddTextToAnExistingPDFFile.java deleted file mode 100644 index d308f8a6..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/AddTextToAnExistingPDFFile.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.Page; -import com.aspose.pdf.Position; -import com.aspose.pdf.TextBuilder; -import com.aspose.pdf.TextFragment; - -//import java.awt.Color; -public class AddTextToAnExistingPDFFile { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("input.pdf"); - // get particular page - Page pdfPage = pdfDocument.getPages().get_Item(1); - // create text fragment - TextFragment textFragment = new TextFragment("main text"); - textFragment.setPosition(new Position(100, 600)); - // set text properties - textFragment.getTextState().setFont(FontRepository.findFont("Verdana")); - textFragment.getTextState().setFontSize(14); - textFragment.getTextState().setForegroundColor(Color.getBlue()); - textFragment.getTextState().setBackgroundColor(Color.getGray()); - // create TextBuilder object - TextBuilder textBuilder = new TextBuilder(pdfPage); - // append the text fragment to the PDF page - textBuilder.appendText(textFragment); - // save updated PDF file - pdfDocument.save("Text_Added.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/DetermineLineBreak.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/DetermineLineBreak.java deleted file mode 100644 index 1f9cbe33..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/DetermineLineBreak.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextFragment; - -public class DetermineLineBreak { - - public static void main(String[] args) { - String myDir = "PathToDir"; - // Load source PDF file - Document doc = new Document(); - com.aspose.pdf.Page page = doc.getPages().add(); - - for (int i = 0; i < 4; i++) - { - TextFragment text = new TextFragment("Lorem ipsum \r\ndolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); - text.getTextState().setFontSize(20); - page.getParagraphs().add(text); - } - doc.save(myDir + "DetermineLineBreak_out.pdf"); - - String notifications = doc.getPages().get_Item(1).getNotifications(); - System.out.println(notifications); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextBasedOnColumns.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextBasedOnColumns.java deleted file mode 100644 index 86e83c63..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextBasedOnColumns.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextAbsorber; -import com.aspose.pdf.TextExtractionOptions; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; - -public class ExtractTextBasedOnColumns { - - public static void main(String[] args) throws IOException { - extractTextBasedOnColumns(); - usingSetScaleFactorMethod(); - } - - public static void extractTextBasedOnColumns() throws IOException { - String path = "PathToDir"; - // instantiate Document instance with path of input file as argument - Document pdfDocument = new Document(path + "net_New-age NED's.pdf"); - // create TextFragment Absorber instance - TextFragmentAbsorber tfa = new TextFragmentAbsorber(); - pdfDocument.getPages().accept(tfa); - // create TextFragment Collection instance - TextFragmentCollection tfc = tfa.getTextFragments(); - for (TextFragment tf : (Iterable) tfc) { - // need to reduce font size at least for 70% - tf.getTextState().setFontSize(tf.getTextState().getFontSize() * 0.7f); - } - // temporary save the file - pdfDocument.save("" + "TempOutput.pdf"); - pdfDocument = new Document("TempOutput.pdf"); - TextAbsorber textAbsorber = new TextAbsorber(); - pdfDocument.getPages().accept(textAbsorber); - String extractedText = textAbsorber.getText(); - textAbsorber.visit(pdfDocument); - // Create a writer and open the file - java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt")); - writer.write(extractedText); - // Write a line of text to the file - // Close the stream - writer.close(); - } - - public static void usingSetScaleFactorMethod() { - Document pdfDocument = new Document("inputFile.pdf"); - TextAbsorber textAbsorber = new TextAbsorber(); - textAbsorber.setExtractionOptions(new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure)); - // Setting scale factor to 0.5 is enough to split columns in the majority of documents - // Setting of zero allows to algorithm choose scale factor automatically - textAbsorber.getExtractionOptions().setScaleFactor((double) 0.5); - pdfDocument.getPages().accept(textAbsorber); - String extractedText = textAbsorber.getText(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromAllThePagesOfPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromAllThePagesOfPDFDocument.java deleted file mode 100644 index 9d86a25f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromAllThePagesOfPDFDocument.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Document; -import com.aspose.pdf.MemoryCleaner; -import com.aspose.pdf.TextAbsorber; - -public class ExtractTextFromAllThePagesOfPDFDocument { - - public static void main(String[] args) throws Exception { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create TextAbsorber object to extract text - TextAbsorber textAbsorber = new TextAbsorber(); - // Accept the absorber for all the pages - pdfDocument.getPages().accept(textAbsorber); - // Get the extracted text - String extractedText = textAbsorber.getText(); - // Create a writer and open the file - java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt")); - writer.write(extractedText); - // Write a line of text to the file - // tw.WriteLine(extractedText); - // Close the stream - writer.close(); -/* - // ExStart:Info1 - // Accept the absorber for particular PDF page - pdfDocument.getPages().get_Item(1).accept(textAbsorber); - // ExEnd:Info1 - - // ExStart:Info2 - MemoryCleaner.clear(); - // ExEnd:Info2 - * - */ - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromAnParticularPageRegion.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromAnParticularPageRegion.java deleted file mode 100644 index bbd02143..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromAnParticularPageRegion.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import java.io.BufferedWriter; -import java.io.FileWriter; -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.TextAbsorber; - -public class ExtractTextFromAnParticularPageRegion { - - public static void main(String[] args) throws IOException { - // open document - Document doc = new Document("page_0001.pdf"); - // create TextAbsorber object to extract text - TextAbsorber absorber = new TextAbsorber(); - absorber.getTextSearchOptions().setLimitToPageBounds(true); - absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350)); - // accept the absorber for first page - doc.getPages().get_Item(1).accept(absorber); - // get the extracted text - String extractedText = absorber.getText(); - // create a writer and open the file - BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt"))); - // write extracted contents - writer.write(extractedText); - // Close writer - writer.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromPDFUsingTextDevice.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromPDFUsingTextDevice.java deleted file mode 100644 index eebb8398..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ExtractTextFromPDFUsingTextDevice.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import java.io.IOException; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextExtractionOptions; -import com.aspose.pdf.devices.TextDevice; - -public class ExtractTextFromPDFUsingTextDevice { - - public static void main(String[] args) throws IOException { - extractTextFromParticularPage(); - extractTextFromAllPagesOfPDF(); - } - - public static void extractTextFromParticularPage() { - // open document - Document pdfDocument = new Document("input.pdf"); - // create text device - TextDevice textDevice = new TextDevice(); - // set text extraction options - set text extraction mode (Raw or Pure) - TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw); - textDevice.setExtractionOptions(textExtOptions); - // get the text from first page of PDF and save it to file format - textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt"); - } - - public static void extractTextFromAllPagesOfPDF() throws IOException { - // open document - Document pdfDocument = new Document("input.pdf"); - // text file in which extracted text will be saved - java.io.OutputStream text_stream = new java.io.FileOutputStream("ExtractedText.txt", false); - // iterate through all the pages of PDF file - for (Page page : (Iterable) pdfDocument.getPages()) { - // create text device - TextDevice textDevice = new TextDevice(); - // set text extraction options - set text extraction mode (Raw or - // Pure) - TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw); - textDevice.setExtractionOptions(textExtOptions); - // get the text from pages of PDF and save it to OutputStream object - textDevice.process(page, text_stream); - } - // close stream object - text_stream.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/FindAndReplaceTextByItsLocation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/FindAndReplaceTextByItsLocation.java deleted file mode 100644 index be9f0374..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/FindAndReplaceTextByItsLocation.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Document; -import com.aspose.pdf.Rectangle; -import com.aspose.pdf.TextAbsorber; -import com.aspose.pdf.TextExtractionOptions; -import com.aspose.pdf.TextReplaceOptions; -import com.aspose.pdf.facades.PdfContentEditor; - -public class FindAndReplaceTextByItsLocation { - - public static void main(String[] args) { - String path = "PathToDir"; - // Open document - Document doc = new Document(path + "test (3).pdf"); - // Text replace scenario - // Create PdfContentEditor object to replace text - PdfContentEditor contentEditor = new PdfContentEditor(doc); - // Limit text search area to the rectangle - contentEditor.getTextSearchOptions().setRectangle(new Rectangle(0, 0, 120, 200)); - contentEditor.getTextReplaceOptions().setReplaceScope(TextReplaceOptions.Scope.REPLACE_ALL); - // Replace O with Z - contentEditor.replaceText("o", 1, "z"); - // Extract text scenario - // Create TextAbsorber object to extract text - TextAbsorber absorber = new TextAbsorber(); - absorber.getExtractionOptions().setFormattingMode(TextExtractionOptions.TextFormattingMode.Pure); - // Limit text search area to page bounds - absorber.getTextSearchOptions().setLimitToPageBounds(true); - // Limit text search area to the rectangle - absorber.getTextSearchOptions().setRectangle(new Rectangle(0, 0, 200, 200)); - // Accept the absorber for first page - doc.getPages().get_Item(1).accept(absorber); - // Get the extracted text - String extractedText = absorber.getText(); - System.out.println(extractedText); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/FootNotesAndEndNotes.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/FootNotesAndEndNotes.java deleted file mode 100644 index b47701e0..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/FootNotesAndEndNotes.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.GraphInfo; -import com.aspose.pdf.Note; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextFragment; - -public class FootNotesAndEndNotes { - - public static void main(String[] args) { - customLineStyleForFootNote(); - customizeFootnoteLabel(); - howToCreateEndNotes(); - } - - public static void customLineStyleForFootNote() { - String myDir = "PathToDir"; - // create Document instance - Document doc = new Document(); - // add page to pages collection of PDF - Page page = doc.getPages().add(); - // create GraphInfo object - GraphInfo graph = new GraphInfo(); - // set line width as 2 - graph.setLineWidth(2); - // set the color for graph object - graph.setColor(Color.getRed()); - // set dash array value as 3 - graph.setDashArray(new int[] { 3 }); - // set dash phase value as 1 - graph.setDashPhase(1); - // set footnote line style for page as graph - page.setNoteLineStyle(graph); - // create TextFragment instance - TextFragment text = new TextFragment("Hello World"); - // set FootNote value for TextFragment - text.setFootNote(new Note("foot note for test text 1")); - // add TextFragment to paragraphs collection of first page of document - page.getParagraphs().add(text); - // create second TextFragment - text = new TextFragment("Aspose.Pdf for .NET"); - // set FootNote for second text fragment - text.setFootNote(new Note("foot note for test text 2")); - // add second text fragment to paragraphs collection of PDF file - page.getParagraphs().add(text); - // save the PDF file - doc.save(myDir + "CustomFootNote_Line.pdf"); - } - - public static void customizeFootnoteLabel() { - String myDir = "PathToDir"; - // create Document instance - Document doc = new Document(); - // add page to pages collection of PDF - Page page = doc.getPages().add(); - // create GraphInfo object - GraphInfo graph = new GraphInfo(); - // set line width as 2 - graph.setLineWidth(2); - // set the color for graph object - graph.setColor(Color.getRed()); - // set dash array value as 3 - graph.setDashArray(new int[] { 3 }); - // set dash phase value as 1 - graph.setDashPhase(1); - // set footnote line style for page as graph - page.setNoteLineStyle(graph); - // create TextFragment instance - TextFragment text = new TextFragment("Hello World"); - // set FootNote value for TextFragment - text.setFootNote(new Note("foot note for test text 1")); - // specify custom label for FootNote - text.getFootNote().setText("Aspose(2015)"); - // add TextFragment to paragraphs collection of first page of document - page.getParagraphs().add(text); - // save the PDF file - doc.save(myDir + "CustomFootNote_Line.pdf"); - } - - public static void howToCreateEndNotes() { - String myDir = "PathToDir"; - // create Document instance - Document doc = new Document(); - // add page to pages collection of PDF - Page page = doc.getPages().add(); - // create TextFragment instance - TextFragment text = new TextFragment("Hello World"); - // set FootNote value for TextFragment - text.setEndNote(new Note("sample End note")); - // specify custom label for FootNote - text.getEndNote().setText(" Aspose(2015)"); - // add TextFragment to paragraphs collection of first page of document - page.getParagraphs().add(text); - // save the PDF file - doc.save(myDir + "EndNote.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/HowToAddTransparentTextInPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/HowToAddTransparentTextInPDF.java deleted file mode 100644 index 909cb0a0..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/HowToAddTransparentTextInPDF.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.Page; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.drawing.Graph; -import com.aspose.pdf.drawing.Rectangle; - -public class HowToAddTransparentTextInPDF { - - public static void main(String[] args) { - int alpha = 10; - int green = 0; - int red = 100; - int blue = 0; - // create Document instance - Document doc = new Document(); - // create page to pages collection of PDF file - Page page = doc.getPages().add(); - // create Graph object - Graph canvas = new Graph(100, 400); - // create rectangle instance with certain dimensions - Rectangle rect = new Rectangle(100, 100, 400, 400); - // create color object from Alpha color channel - rect.getGraphInfo().setFillColor(Color.fromArgb(alpha, red, green, blue)); - // add rectanlge to shapes collection of Graph object - canvas.getShapes().add(rect); - // add graph object to paragraphs collection of page object - page.getParagraphs().add(canvas); - // set value to not change position for graph object - canvas.setChangePosition(false); - // create TextFragment instance with sample value - TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text "); - // create color object from Alpha channel - Color color = Color.fromArgb(30, 0, 255, 0); - // set color information for text instance - text.getTextState().setForegroundColor(color); - // add text to paragraphs collection of page instance - page.getParagraphs().add(text); - // save PDF file - doc.save("Transparent_Text.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceFontsInExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceFontsInExistingPDFFile.java deleted file mode 100644 index 9e7a26ed..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceFontsInExistingPDFFile.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import java.util.Iterator; - -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.TextEditOptions; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; - -public class ReplaceFontsInExistingPDFFile { - - public static void main(String[] args) { - String myDir = "PathToDir"; - // Load existing PDF Document - Document pdf = new Document("input.pdf"); - // Search text fragments and set edit option as remove unused fonts - TextFragmentAbsorber absorber = new TextFragmentAbsorber(new TextEditOptions(TextEditOptions.FontReplace.RemoveUnusedFonts)); - // accept the absorber for all the pages - pdf.getPages().accept(absorber); - - // traverse through all the TextFragments - TextFragmentCollection textFragmentCollection = absorber.getTextFragments(); - for (Iterator iterator = textFragmentCollection.iterator(); iterator.hasNext();) { - TextFragment textFragment = iterator.next(); - - String fontName = textFragment.getTextState().getFont().getFontName(); - // if the font name is ArialMT, replace font name with Arial - if (fontName.equals("ArialMT")) { - textFragment.getTextState().setFont(FontRepository.findFont("Arial")); - } - } - // Save the updated document - pdf.save(myDir + "output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceOnlyFirstOccurrenceOfThePhrase.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceOnlyFirstOccurrenceOfThePhrase.java deleted file mode 100644 index 8c6d20af..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceOnlyFirstOccurrenceOfThePhrase.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; - -public class ReplaceOnlyFirstOccurrenceOfThePhrase { - - public static void main(String[] args) { - // open document - Document pdfDocument = new Document("input.pdf"); - // create TextAbsorber object to find all instances of the input search - // phrase - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("line"); - // accept the absorber for first page of document - pdfDocument.getPages().accept(textFragmentAbsorber); - // get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // get first occurrence of text and replace - TextFragment textFragment = textFragmentCollection.get_Item(1); - // update text and other properties - textFragment.setText("New Pharase"); - textFragment.getTextState().setFont(FontRepository.findFont("Verdana")); - textFragment.getTextState().setFontSize(22); - textFragment.getTextState().setForegroundColor(Color.getBlue()); - textFragment.getTextState().setBackgroundColor(Color.getGray()); - - // save updated PDF file - pdfDocument.save("Text_Updated.pdf"); - } - /* - // Info - // accept the absorber for first page of document - pdfDocument.getPages().get_Item(1).accept(textFragmentAbsorber); - // Info - * - */ - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceTextInPagesOfPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceTextInPagesOfPDFDocument.java deleted file mode 100644 index 2fda3a87..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/ReplaceTextInPagesOfPDFDocument.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.Font; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; -import com.aspose.pdf.TextSearchOptions; -import com.aspose.pdf.TextSegment; - -public class ReplaceTextInPagesOfPDFDocument { - - public static void main(String[] args) { - replaceTextOnAllPages(); - replaceTextUsingRegularExpression(); - useNonEnglishFontWhenReplacingText(); - searchTextStringsAndRemoveTheContentsBetweenThem(); - } - - public static void replaceTextOnAllPages() { - // Open document - Document pdfDocument = new Document("source.pdf"); - // Create TextAbsorber object to find all instances of the input search phrase - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample"); - // Accept the absorber for first page of document - pdfDocument.getPages().accept(textFragmentAbsorber); - // Get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // Loop through the fragments - for (TextFragment textFragment : (Iterable) textFragmentCollection) { - // Update text and other properties - textFragment.setText("New Pharase"); - textFragment.getTextState().setFont(FontRepository.findFont("Verdana")); - textFragment.getTextState().setFontSize(22); - textFragment.getTextState().setForegroundColor(Color.getBlue()); - textFragment.getTextState().setBackgroundColor(Color.getGray()); - } - // Save the updated PDF file - pdfDocument.save("Updated_Text.pdf"); - } - - public static void replaceTextUsingRegularExpression() { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create TextAbsorber object to find all instances of the input search - // phrase - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000 - // Set text search option to specify regular expression usage - TextSearchOptions textSearchOptions = new TextSearchOptions(true); - textFragmentAbsorber.setTextSearchOptions(textSearchOptions); - // Accept the absorber for first page of document - pdfDocument.getPages().accept(textFragmentAbsorber); - // Get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // Loop through the fragments - for (TextFragment textFragment : (Iterable) textFragmentCollection) { - // Update text and other properties - textFragment.setText("New Pharase"); - textFragment.getTextState().setFont(FontRepository.findFont("Verdana")); - textFragment.getTextState().setFontSize(22); - textFragment.getTextState().setForegroundColor(Color.getBlue()); - textFragment.getTextState().setBackgroundColor(Color.getGray()); - } - // Save the updated PDF file - pdfDocument.save("Updated_Text.pdf"); - } - - public static void useNonEnglishFontWhenReplacingText() { - // Instantiate Document object - Document inputPDF = new Document("input.pdf"); - // Lets to change every of word "Page" to some Japan text with specific font MSGothic that might be installed in the OS - // Also, it may be another font that supports hieroglyphs - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("PAGE"); - // Create instance of Text Search options - TextSearchOptions searchOptions = new TextSearchOptions(true); - textFragmentAbsorber.setTextSearchOptions(searchOptions); - // Accept the absorber for all pages of document - inputPDF.getPages().accept(textFragmentAbsorber); - // Get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // Loop through the fragments - for (TextFragment textFragment : (Iterable) textFragmentCollection) { - // Get particular segment from Segments collection of TextFragment object - TextSegment textSegment = textFragment.getSegments().get_Item(1); - // Create an instance of font object using MSGothic font - Font font = FontRepository.findFont("MSGothic"); - // Get the size of current TextSegment object - float size = textSegment.getTextState().getFontSize(); - // Replace the text Fragment with Japanese text - textFragment.setText(""); - // Set font for TextFragment as MSGothic - textFragment.getTextState().setFont(font); - textFragment.getTextState().setFontSize(size); - } - // Save the updated document - inputPDF.save("Japanese_Text.pdf"); - } - - public static void searchTextStringsAndRemoveTheContentsBetweenThem() { - String path = "PathToDir"; - // open document - Document pdfDocument = new Document(path + "testHeading (2).pdf"); - // create TextAbsorber object to find all instances of the input search phrase - String from = "this is heading of level 1"; - String till = "this is bullet style 1"; - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber(from + ".*" + till, new TextSearchOptions(true)); - // accept the absorber for first page of document - pdfDocument.getPages().accept(textFragmentAbsorber); - // get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // loop through the Text fragments - for (TextFragment textFragment : (Iterable) textFragmentCollection) { - // It is enough to remove all segments between the first and the last if they are separate segments. - int size = textFragment.getSegments().size(); - size++; - // after each deleting size is decremented by 1 - while (textFragment.getSegments().size() > 2) { - textFragment.getSegments().delete(2);// removes the second fragment and recalculates the remaining fragments - } - } - pdfDocument.save(path + "testHeading_out.pdf"); - } - /* - * //Info // Accept the absorber for first page of document pdfDocument.getPages().get_Item(1).accept(textFragmentAbsorber); //ExEnd:Info - */ -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextFromPagesUsingRegularExpression.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextFromPagesUsingRegularExpression.java deleted file mode 100644 index fbbca3d1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextFromPagesUsingRegularExpression.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; -import com.aspose.pdf.TextSearchOptions; - -public class SearchAndGetTextFromPagesUsingRegularExpression { - - public static void main(String[] args) { - // Open a document - Document pdfDocument = new Document("source.pdf"); - // Create TextAbsorber object to find all instances of the input search phrase - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // like 1999-2000 - // Set text search option to specify regular expression usage - TextSearchOptions textSearchOptions = new TextSearchOptions(true); - textFragmentAbsorber.setTextSearchOptions(textSearchOptions); - // Accept the absorber for first page of document - pdfDocument.getPages().accept(textFragmentAbsorber); - // Get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // Loop through the fragments - for (TextFragment textFragment : (Iterable) textFragmentCollection) { - System.out.println("Text :- " + textFragment.getText()); - System.out.println("Position :- " + textFragment.getPosition()); - System.out.println("XIndent :- " + textFragment.getPosition().getXIndent()); - System.out.println("YIndent :- " + textFragment.getPosition().getYIndent()); - System.out.println("Font - Name :- " + textFragment.getTextState().getFont().getFontName()); - System.out.println("Font - IsAccessible :- " + textFragment.getTextState().getFont().isAccessible()); - System.out.println("Font - IsEmbedded - " + textFragment.getTextState().getFont().isEmbedded()); - System.out.println("Font - IsSubset :- " + textFragment.getTextState().getFont().isSubset()); - System.out.println("Font Size :- " + textFragment.getTextState().getFontSize()); - System.out.println("Foreground Color :- " + textFragment.getTextState().getForegroundColor()); - } -/* - // Info1 - // Accept the absorber for the first page of the document. - pdfDocument.getPages().get_Item(1).accept(textFragmentAbsorber); - // Info1 - - // Info2 - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("(?i)Line", new TextSearchOptions(true)); - // Info2 - - // Info3 - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("[\\S]+"); - // Info3 - */ - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextFromThePagesOfPDFDocument.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextFromThePagesOfPDFDocument.java deleted file mode 100644 index a4629b20..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextFromThePagesOfPDFDocument.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; - -public class SearchAndGetTextFromThePagesOfPDFDocument { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create TextAbsorber object to find all instances of the input search - // phrase - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample"); - // Accept the absorber for all the pages - pdfDocument.getPages().accept(textFragmentAbsorber); - // Get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // Loop through the fragments - for (TextFragment textFragment : (Iterable) textFragmentCollection) { - System.out.println("Text :- " + textFragment.getText()); - System.out.println("Position :- " + textFragment.getPosition()); - System.out.println("XIndent :- " + textFragment.getPosition().getXIndent()); - System.out.println("YIndent :- " + textFragment.getPosition().getYIndent()); - System.out.println("Font - Name :- " + textFragment.getTextState().getFont().getFontName()); - System.out.println("Font - IsAccessible :- " + textFragment.getTextState().getFont().isAccessible()); - System.out.println("Font - IsEmbedded - " + textFragment.getTextState().getFont().isEmbedded()); - System.out.println("Font - IsSubset :- " + textFragment.getTextState().getFont().isSubset()); - System.out.println("Font Size :- " + textFragment.getTextState().getFontSize()); - System.out.println("Foreground Color :- " + textFragment.getTextState().getForegroundColor()); - } -/* - // Info - // Accept the absorber for first page of document - pdfDocument.getPages().get_Item(1).accept(textFragmentAbsorber); - // Info - */ - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextSegmentsFromPagesOfPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextSegmentsFromPagesOfPDF.java deleted file mode 100644 index 3bfb334e..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/SearchAndGetTextSegmentsFromPagesOfPDF.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Document; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextFragmentCollection; -import com.aspose.pdf.TextSegment; - -public class SearchAndGetTextSegmentsFromPagesOfPDF { - - public static void main(String[] args) { - // Open document - Document pdfDocument = new Document("input.pdf"); - // Create TextAbsorber object to find all instances of the input search phrase - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("sample"); - // Accept the absorber for first page of document - pdfDocument.getPages().accept(textFragmentAbsorber); - // Get the extracted text fragments into collection - TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments(); - // Loop through the Text fragments - for (TextFragment textFragment : (Iterable) textFragmentCollection) { - // Iterate through text segments - for (TextSegment textSegment : (Iterable) textFragment.getSegments()) { - System.out.println("Text :- " + textSegment.getText()); - System.out.println("Position :- " + textSegment.getPosition()); - System.out.println("XIndent :- " + textSegment.getPosition().getXIndent()); - System.out.println("YIndent :- " + textSegment.getPosition().getYIndent()); - System.out.println("Font - Name :- " + textSegment.getTextState().getFont().getFontName()); - System.out.println("Font - IsAccessible :- " + textSegment.getTextState().getFont().isAccessible()); - System.out.println("Font - IsEmbedded - " + textSegment.getTextState().getFont().isEmbedded()); - System.out.println("Font - IsSubset :- " + textSegment.getTextState().getFont().isSubset()); - System.out.println("Font Size :- " + textSegment.getTextState().getFontSize()); - System.out.println("Foreground Color :- " + textSegment.getTextState().getForegroundColor()); - } - } -/* - // ExStart:Info - // Accept the absorber for the first page of document. - pdfDocument.getPages().get_Item(1).accept(textFragmentAbsorber); - // ExEnd:Info - */ - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/TextReplacementShouldAutomaticallyRearrangePageContents.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/TextReplacementShouldAutomaticallyRearrangePageContents.java deleted file mode 100644 index b8162eab..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfExamples/Text/TextReplacementShouldAutomaticallyRearrangePageContents.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfExamples.Text; - -import com.aspose.pdf.Color; -import com.aspose.pdf.Document; -import com.aspose.pdf.FontRepository; -import com.aspose.pdf.TextFragment; -import com.aspose.pdf.TextFragmentAbsorber; -import com.aspose.pdf.TextReplaceOptions; - -public class TextReplacementShouldAutomaticallyRearrangePageContents { - - public static void main(String[] args) { - String myDir = "PathToDir"; - // Load source PDF file - Document doc = new Document(myDir + "input.pdf"); - // Create TextFragment Absorber object with regular expression - TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("[Cname,companyname,Textbox,50]"); - doc.getPages().accept(textFragmentAbsorber); - // Replace each TextFragment - for (TextFragment textFragment : (Iterable) textFragmentAbsorber.getTextFragments()) { - // Set font of text fragment being replaced - textFragment.getTextState().setFont(FontRepository.findFont("Arial")); - // Set font size - textFragment.getTextState().setFontSize(12); - textFragment.getTextState().setForegroundColor(Color.getNavy()); - // Replace the text with larger string than placeholder - textFragment.setText("This is a Lerger String to Testing of this issue"); - } - // Save resultant PDF - doc.save(myDir + "29860_out_large_NoHyphenation_1020.pdf"); - /* - // Info - textFragmentAbsorber.getTextReplaceOptions().setReplaceAdjustmentAction(TextReplaceOptions.ReplaceAdjustment.WholeWordsHyphenation); - // Info */ - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/AddAnnotationInAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/AddAnnotationInAnExistingPDFFile.java deleted file mode 100644 index 3c3c130c..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/AddAnnotationInAnExistingPDFFile.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Annotations; - -import com.aspose.pdf.facades.PdfContentEditor; - -public class AddAnnotationInAnExistingPDFFile { - - public static void main(String[] args) { - // open document - PdfContentEditor contentEditor = new PdfContentEditor(); - contentEditor.bindPdf("input.pdf"); - // crate rectangle - java.awt.Rectangle rect = new java.awt.Rectangle(50, 50, 100, 100); - // create annotation - contentEditor.createFreeText(rect, "Sample content", 1); - // save updated PDF file - contentEditor.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/DeleteAllAnnotationsBySpecifiedType.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/DeleteAllAnnotationsBySpecifiedType.java deleted file mode 100644 index 3015c6b4..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/DeleteAllAnnotationsBySpecifiedType.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Annotations; - -import com.aspose.pdf.facades.PdfAnnotationEditor; - -public class DeleteAllAnnotationsBySpecifiedType { - - public static void main(String[] args) { - // open document - PdfAnnotationEditor annotationEditor = new PdfAnnotationEditor(); - annotationEditor.bindPdf("input.pdf"); - // delete all annotations - annotationEditor.deleteAnnotations("Text"); - // save updated PDF - annotationEditor.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/ExportAnnotationsFromPDFFileToXFDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/ExportAnnotationsFromPDFFileToXFDF.java deleted file mode 100644 index 93f022a0..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Annotations/ExportAnnotationsFromPDFFileToXFDF.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Annotations; - -import java.io.FileOutputStream; -import java.io.IOException; - -import com.aspose.pdf.facades.PdfAnnotationEditor; - -public class ExportAnnotationsFromPDFFileToXFDF { - - public static void main(String[] args) throws IOException { - // create PdfAnnotationEditor object - PdfAnnotationEditor AnnotationEditor = new PdfAnnotationEditor(); - // open PDF document - AnnotationEditor.bindPdf("input.pdf"); - // import annotations - int[] annotTypes = new int[] { com.aspose.pdf.AnnotationType.Text, com.aspose.pdf.AnnotationType.Highlight }; - FileOutputStream fileStream = new FileOutputStream("annotations.xfdf"); - AnnotationEditor.exportAnnotationsXfdf(fileStream, 1, 5, annotTypes); - // close objects - AnnotationEditor.close(); - fileStream.close(); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/CreateBookmarksOfAllPages.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/CreateBookmarksOfAllPages.java deleted file mode 100644 index c5cae4e7..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/CreateBookmarksOfAllPages.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Bookmarks; - -import com.aspose.pdf.facades.PdfBookmarkEditor; - -public class CreateBookmarksOfAllPages { - - public static void main(String[] args) { - // open document - PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor(); - bookmarkEditor.bindPdf("Input.pdf"); - // create bookmark of all pages - bookmarkEditor.createBookmarks(); - // save updated PDF file - bookmarkEditor.save("Output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/CreateBookmarksOfAllPagesWithProperties.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/CreateBookmarksOfAllPagesWithProperties.java deleted file mode 100644 index 170220fe..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/CreateBookmarksOfAllPagesWithProperties.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Bookmarks; - -import java.awt.Color; - -import com.aspose.pdf.facades.PdfBookmarkEditor; - -public class CreateBookmarksOfAllPagesWithProperties { - - public static void main(String[] args) { - // Path to Directorty - String myDir = "PathToDir"; - // open document - PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor(); - bookmarkEditor.bindPdf("Input.pdf"); - // create bookmark of all pages - bookmarkEditor.createBookmarks(Color.GREEN, true, true); - // save updated PDF file - bookmarkEditor.save(myDir + "Output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/ExportBookmarksToXMLFromAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/ExportBookmarksToXMLFromAnExistingPDFFile.java deleted file mode 100644 index f3b0bf6a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/ExportBookmarksToXMLFromAnExistingPDFFile.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Bookmarks; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -import com.aspose.pdf.facades.PdfBookmarkEditor; - -public class ExportBookmarksToXMLFromAnExistingPDFFile { - - public static void main(String[] args) throws IOException { - toExportBookmarks(); - exportBookmarksToXML(); - } - - public static void toExportBookmarks() { - // Create PdfBookmarkEditor object - PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor(); - // Open PDF file - bookmarkEditor.bindPdf("Input.pdf"); - // Export bookmarks - bookmarkEditor.exportBookmarksToXML("bookmarks.xml"); - bookmarkEditor.dispose(); - } - - public static void exportBookmarksToXML() throws IOException { - // Create PdfBookmarkEditor object - PdfBookmarkEditor bookmarkeditor = new PdfBookmarkEditor(); - // Open PDF file - bookmarkeditor.bindPdf("Input.pdf"); - OutputStream os = new FileOutputStream("bookmark.xml"); - bookmarkeditor.exportBookmarksToXML(os); - bookmarkeditor.dispose(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/ImportBookmarksFromXMLToAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/ImportBookmarksFromXMLToAnExistingPDFFile.java deleted file mode 100644 index 98d7676c..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/ImportBookmarksFromXMLToAnExistingPDFFile.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Bookmarks; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; - -import com.aspose.pdf.facades.PdfBookmarkEditor; - -public class ImportBookmarksFromXMLToAnExistingPDFFile { - - public static void main(String[] args) throws IOException { - toImportBookmarks(); - importBookmarksWithXML(); - } - - public static void toImportBookmarks() { - // Create PdfBookmarkEditor class - PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor(); - // Open PDF file - bookmarkEditor.bindPdf("Input.pdf"); - // Import bookmarks - bookmarkEditor.importBookmarksWithXML("bookmarks.xml"); - // Save updated PDF file - bookmarkEditor.save("output.pdf"); - } - - public static void importBookmarksWithXML() throws IOException { - // Create PdfBookmarkEditor object - PdfBookmarkEditor bookmarkeditor = new PdfBookmarkEditor(); - // Open PDF file - bookmarkeditor.bindPdf("Input.pdf"); - InputStream is = new FileInputStream("bookmark.xml"); - bookmarkeditor.importBookmarksWithXML(is); - bookmarkeditor.save("output.pdf"); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/AddingJavascriptActionsToExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/AddingJavascriptActionsToExistingPDFFile.java deleted file mode 100644 index 31c2d4de..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/AddingJavascriptActionsToExistingPDFFile.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Document; - -import java.awt.Rectangle; - -import com.aspose.pdf.facades.PdfContentEditor; - -public class AddingJavascriptActionsToExistingPDFFile { - - public static void main(String[] args) { - // create PdfContentEditor object to manipulate contents - PdfContentEditor editor = new PdfContentEditor(); - editor.bindPdf("input.pdf"); - // create Javascript link - Rectangle rect7 = new Rectangle(50, 50, 200, 200); - java.awt.Color clr4 = new java.awt.Color(0, 255, 0); - String code = "app.alert('welcome to aspose!');"; - editor.createJavaScriptLink(code, rect7, 1, clr4); - // save the output file - editor.save("JavaScriptAdded_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/GetPDFFilenformation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/GetPDFFilenformation.java deleted file mode 100644 index 3e305d8d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/GetPDFFilenformation.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Document; - -import com.aspose.pdf.facades.PdfFileInfo; - -public class GetPDFFilenformation { - - public static void main(String[] args) { - // open document - PdfFileInfo fileInfo = new PdfFileInfo("input.pdf"); - // get PDF information - System.out.println("Subject :-" + fileInfo.getSubject()); - System.out.println("Title :-" + fileInfo.getTitle()); - System.out.println("Keywords :-" + fileInfo.getKeywords()); - System.out.println("Creator :-" + fileInfo.getCreator()); - System.out.println("Creation Date :-" + fileInfo.getCreationDate()); - System.out.println("Modification Date :-" + fileInfo.getModDate()); - - // find whether is it valid PDF and it is encrypted as well - System.out.println("Is Valid PDF :-" + fileInfo.isPdfFile()); - // in case the file is encrypted, you need to provide file opening password - // as second argument to PdfFileInfo constructor - System.out.println("Is Encrypted :-" + fileInfo.isEncrypted()); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/GetXMPMetadataOfAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/GetXMPMetadataOfAnExistingPDFFile.java deleted file mode 100644 index 70864892..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/GetXMPMetadataOfAnExistingPDFFile.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Document; - -import com.aspose.pdf.facades.DefaultMetadataProperties; -import com.aspose.pdf.facades.PdfXmpMetadata; - -public class GetXMPMetadataOfAnExistingPDFFile { - - public static void main(String[] args) { - // create PdfXmpMetadata object - PdfXmpMetadata xmpMetaData = new PdfXmpMetadata(); - // bind PDF file to the object - xmpMetaData.bindPdf("TextAnnotation_output.pdf"); - // get XMP Meta Data properties - System.out.println("Creation Date : " + xmpMetaData.getByDefaultMetadataProperties(DefaultMetadataProperties.CreateDate)); - System.out.println("MetaData Date : " + xmpMetaData.getByDefaultMetadataProperties(DefaultMetadataProperties.MetadataDate)); - System.out.println("Creator Tool : " + xmpMetaData.getByDefaultMetadataProperties(DefaultMetadataProperties.CreatorTool)); - System.out.println("User Property Name : " + xmpMetaData.getXmpMetadata("customNamespace:UserPropertyName")); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/ResizePDFPageContents.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/ResizePDFPageContents.java deleted file mode 100644 index 142a24dd..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/ResizePDFPageContents.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Document; - -import com.aspose.pdf.Document; -import com.aspose.pdf.facades.PdfFileEditor; - -public class ResizePDFPageContents { - - public static void main(String[] args) { - // load source PDF file - Document doc = new Document("xslt_output.pdf"); - // instantiate PdfFileEditor object - PdfFileEditor editor = new PdfFileEditor(); - // Specify Parameter to be used for resizing - PdfFileEditor.ContentsResizeParameters parameters = new PdfFileEditor.ContentsResizeParameters( - // left margin = 10% of page width - PdfFileEditor.ContentsResizeValue.percents(0), - // new contents width calculated automatically as width - left margin - right margin (100% - 10% - 10% = 80%) - null, - // right margin is 10% of page - PdfFileEditor.ContentsResizeValue.percents(0), - // top margin = 10% of height - PdfFileEditor.ContentsResizeValue.percents(10), - // new contents height is calculated automatically (similar to width) - null, - // bottom margin is 10% - PdfFileEditor.ContentsResizeValue.percents(10)); - // re-size contents of the first page of PDF file - editor.resizeContents(doc, new int[] { 1 }, parameters); - // save PDF file - doc.save("ContentsResized.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetPDFFileInformation.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetPDFFileInformation.java deleted file mode 100644 index bb2491f2..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetPDFFileInformation.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Document; - -import com.aspose.pdf.facades.PdfFileInfo; - -public class SetPDFFileInformation { - - public static void main(String[] args) { - // open source document - PdfFileInfo fileInfo = new PdfFileInfo("input.pdf"); - // set PDF information - fileInfo.setAuthor("Nayyer"); - fileInfo.setTitle("Hello World!"); - fileInfo.setKeywords("Peace and Development"); - fileInfo.setCreator("Aspose"); - // save updated file - fileInfo.saveNewInfo("Updated_Info_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetViewerPreferenceOfAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetViewerPreferenceOfAnExistingPDFFile.java deleted file mode 100644 index 747bac09..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetViewerPreferenceOfAnExistingPDFFile.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Document; - -import com.aspose.pdf.facades.PdfContentEditor; -import com.aspose.pdf.facades.ViewerPreference; - -public class SetViewerPreferenceOfAnExistingPDFFile { - - public static void main(String[] args) { - // open document - PdfContentEditor contentEditor = new PdfContentEditor(); - contentEditor.bindPdf("input.pdf"); - // change Viewer Preferences - contentEditor.changeViewerPreference(ViewerPreference.CENTER_WINDOW); - contentEditor.changeViewerPreference(ViewerPreference.HIDE_MENUBAR); - contentEditor.changeViewerPreference(ViewerPreference.PAGE_MODE_USE_NONE); - // save output PDF file - contentEditor.save("ChangePreference_output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetXMPMetadataOfAnExistingPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetXMPMetadataOfAnExistingPDF.java deleted file mode 100644 index dda53676..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Document/SetXMPMetadataOfAnExistingPDF.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Document; - -import com.aspose.pdf.facades.DefaultMetadataProperties; -import com.aspose.pdf.facades.PdfXmpMetadata; - -public class SetXMPMetadataOfAnExistingPDF { - - public static void main(String[] args) { - // create PdfXmpMetadata object - PdfXmpMetadata xmpMetaData = new PdfXmpMetadata(); - // bind pdf file to the object - xmpMetaData.bindPdf("input.pdf"); - // add create date - xmpMetaData.setByDefaultMetadataProperties(DefaultMetadataProperties.CreateDate, new java.util.Date()); - // change meta data date - xmpMetaData.setByDefaultMetadataProperties(DefaultMetadataProperties.MetadataDate, new java.util.Date()); - // add creator tool - xmpMetaData.setByDefaultMetadataProperties(DefaultMetadataProperties.CreatorTool, "Creator tool name"); - // add Nick for MetaData - xmpMetaData.setByDefaultMetadataProperties(DefaultMetadataProperties.Nickname, "Aspose Nick"); - // remove modify date - xmpMetaData.remove(DefaultMetadataProperties.ModifyDate); - // add user defined property - // step #1: register namespace prefix and URI - xmpMetaData.registerNamespaceURI("customNamespace", "http://www.customNameSpaces.com/ns/"); - // step #2: add user property with the prefix - xmpMetaData.addItem("customNamespace:UserPropertyName", "UserPropertyValue"); - // save xmp meta data in the pdf file - xmpMetaData.save("Updated_MetaData.pdf"); - // close the object - xmpMetaData.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/ExportDataToFDFFromAPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/ExportDataToFDFFromAPDFFile.java deleted file mode 100644 index 9ff95976..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/ExportDataToFDFFromAPDFFile.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Forms; - -import java.io.FileOutputStream; -import java.io.IOException; - -import com.aspose.pdf.facades.Form; - -public class ExportDataToFDFFromAPDFFile { - - public static void main(String[] args) throws IOException { - // open document - Form form = new Form(); - form.bindPdf("student.pdf"); - // create fdf file. - FileOutputStream fdfOutputStream = new FileOutputStream("student.fdf"); - // export data - form.exportFdf(fdfOutputStream); - // close file stream - fdfOutputStream.close(); - // save updated document - form.dispose(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/ExportDataToXMLFromAPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/ExportDataToXMLFromAPDFFile.java deleted file mode 100644 index bbd500be..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/ExportDataToXMLFromAPDFFile.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Forms; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -import com.aspose.pdf.facades.Form; - -public class ExportDataToXMLFromAPDFFile { - - public static void main(String[] args) throws IOException { - // open document - Form form = new Form(); - form.bindPdf("student.pdf"); - // create XML file. - OutputStream xmlOutputStream = new FileOutputStream("student.xml"); - // export data - form.exportXml(xmlOutputStream); - // close file stream - xmlOutputStream.close(); - // dispose the form object - form.dispose(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/FlattenAllFieldsInExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/FlattenAllFieldsInExistingPDFFile.java deleted file mode 100644 index b6e16ebb..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Forms/FlattenAllFieldsInExistingPDFFile.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Forms; - -import com.aspose.pdf.facades.Form; - -public class FlattenAllFieldsInExistingPDFFile { - - public static void main(String[] args) { - // open document - Form pdfForm = new Form(); - // bind source PDF file - pdfForm.bindPdf("input.pdf"); - // flatten fields - pdfForm.flattenAllFields(); - // save output - pdfForm.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ConvertPDFPagesToDifferentImageFormats.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ConvertPDFPagesToDifferentImageFormats.java deleted file mode 100644 index 540c3b80..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ConvertPDFPagesToDifferentImageFormats.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Images; - -import com.aspose.pdf.ImageType; -import com.aspose.pdf.facades.PdfConverter; - -public class ConvertPDFPagesToDifferentImageFormats { - - public static void main(String[] args) { - // create PdfConverter object - PdfConverter objConverter = new PdfConverter(); - // bind input pdf file - objConverter.bindPdf("input.pdf"); - // initialize the converting process - objConverter.doConvert(); - int i = 1; - // check if pages exist and then convert to image one by one - while (objConverter.hasNextImage()) { - objConverter.getNextImage(i + ".jpg", ImageType.getJpeg()); - i++; - } - // close the PdfConverter object - objConverter.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ConvertParticularPageRegionToImageFormat.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ConvertParticularPageRegionToImageFormat.java deleted file mode 100644 index 2a6e2b39..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ConvertParticularPageRegionToImageFormat.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Images; - -import java.io.IOException; - -import com.aspose.pdf.facades.PdfConverter; -import com.aspose.pdf.facades.PdfPageEditor; - -public class ConvertParticularPageRegionToImageFormat { - - public static void main(String[] args) throws IOException { - // instantiate PdfPageEditor class to get particular page region - PdfPageEditor editor = new PdfPageEditor(); - // bind the source PDF file - editor.bindPdf("Exported.pdf"); - // move the origin of PDF file to particular point - editor.movePosition(100, 200); - // create a memory stream object - java.io.FileOutputStream fout = new java.io.FileOutputStream("TempFile.pdf"); - // save the updated document to stream object - editor.save(fout); - // create PdfConverter object - PdfConverter objConverter = new PdfConverter(); - // bind input pdf file - objConverter.bindPdf(new java.io.FileInputStream("TempFile.pdf")); - // set StartPage and EndPage properties to the page number to - // you want to convert images from - objConverter.setStartPage(1); - objConverter.setEndPage(1); - // Counter - int page = 1; - // initialize the converting process - objConverter.doConvert(); - // check if pages exist and then convert to image one by one - while (objConverter.hasNextImage()) - objConverter.getNextImage("Specific_Region-Image" + page++ + ".jpeg"); - // close the PdfConverter object - objConverter.close(); - // close MemoryStream object holding the updated document - fout.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ExtractImagesFromTheWholePDFToFiles.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ExtractImagesFromTheWholePDFToFiles.java deleted file mode 100644 index 8c61af8a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ExtractImagesFromTheWholePDFToFiles.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Images; - -import com.aspose.pdf.facades.PdfExtractor; - -public class ExtractImagesFromTheWholePDFToFiles { - - public static void main(String[] args) { - // open input PDF - PdfExtractor pdfExtractor = new PdfExtractor(); - pdfExtractor.bindPdf("Input.pdf"); - // extract all the images - pdfExtractor.extractImage(); - int imageCount = 1; - // get all the extracted images - while (pdfExtractor.hasNextImage()) { - pdfExtractor.getNextImage("Image" + imageCount + ".jpg"); - imageCount++; - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ReplaceImageInAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ReplaceImageInAnExistingPDFFile.java deleted file mode 100644 index 9a67ed2d..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Images/ReplaceImageInAnExistingPDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Images; - -import com.aspose.pdf.facades.PdfContentEditor; - -public class ReplaceImageInAnExistingPDFFile { - - public static void main(String[] args) { - // open input PDF - PdfContentEditor pdfContentEditor = new PdfContentEditor(); - pdfContentEditor.bindPdf("Input.pdf"); - // replace image on a particular page - pdfContentEditor.replaceImage(1, 1, "Aspose-logo.bmp"); - // save output PDF - pdfContentEditor.save("Output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/PDFPrinting/PrintPDFFileToDefaultPrinter.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/PDFPrinting/PrintPDFFileToDefaultPrinter.java deleted file mode 100644 index 9096cf49..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/PDFPrinting/PrintPDFFileToDefaultPrinter.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.PDFPrinting; - -import java.awt.print.PageFormat; -import java.awt.print.PrinterJob; - -import com.aspose.pdf.facades.PdfViewer; - -public class PrintPDFFileToDefaultPrinter { - - public static void main(String[] args) { - // Create PdfViewer object - PdfViewer viewer = new PdfViewer(); - // Open input PDF file - viewer.openPdfFile("input.pdf"); - // Set attributes for printing - viewer.setAutoResize(true); // Print the file with adjusted size - viewer.setAutoRotate(true); // Print the file with adjusted rotation - viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing - // gets a printjob object. - PrinterJob printJob = PrinterJob.getPrinterJob(); - // gets the default page. - PageFormat pf = printJob.defaultPage(); - // print PDF document - viewer.printDocument(); - // close the Pdf file. - viewer.closePdfFile(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenateArrayOfPDFFilesUsingFilePaths.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenateArrayOfPDFFilesUsingFilePaths.java deleted file mode 100644 index f34d55cb..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenateArrayOfPDFFilesUsingFilePaths.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Pages; - -import com.aspose.pdf.facades.PdfFileEditor; - -public class ConcatenateArrayOfPDFFilesUsingFilePaths { - - public static void main(String[] args) { - // create PdfFileEditor object - PdfFileEditor pdfEditor = new PdfFileEditor(); - // array of files - String[] filesArray = new String[2]; - filesArray[0] = "input1.pdf"; - filesArray[1] = "input2.pdf"; - // concatenate files - pdfEditor.concatenate(filesArray, "output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenateArrayOfPDFFilesUsingStreams.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenateArrayOfPDFFilesUsingStreams.java deleted file mode 100644 index 0d467e4a..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenateArrayOfPDFFilesUsingStreams.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Pages; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -import com.aspose.pdf.facades.PdfFileEditor; - -public class ConcatenateArrayOfPDFFilesUsingStreams { - - public static void main(String[] args) throws IOException { - // create PdfFileEditor object - PdfFileEditor editor = new PdfFileEditor(); - // output stream - FileOutputStream outStream = new FileOutputStream("outFile"); - // array of streams - FileInputStream[] inputStream = new FileInputStream[2]; - inputStream[0] = new FileInputStream("inFile1"); - inputStream[1] = new FileInputStream("inFile2"); - // concatenate file - editor.concatenate(inputStream, outStream); - } - -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenatePDFFilesUsingFilePaths.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenatePDFFilesUsingFilePaths.java deleted file mode 100644 index 643817cc..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ConcatenatePDFFilesUsingFilePaths.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Pages; - -import com.aspose.pdf.facades.PdfFileEditor; - -public class ConcatenatePDFFilesUsingFilePaths { - - public static void main(String[] args) { - concatenatePDFFilesUsingFilePaths(); - settingCopyOutlines(); - } - - public static void concatenatePDFFilesUsingFilePaths() { - // create PdfFileEditor object - PdfFileEditor pdfEditor = new PdfFileEditor(); - // concatenate files - pdfEditor.concatenate("input1.pdf", "input2.pdf", "output.pdf"); - } - - public static void settingCopyOutlines() { - PdfFileEditor pfe = new PdfFileEditor(); - pfe.setCopyOutlines(false); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ResizePageContentsOfSpecificPagesInAPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ResizePageContentsOfSpecificPagesInAPDFFile.java deleted file mode 100644 index 4dd76285..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Pages/ResizePageContentsOfSpecificPagesInAPDFFile.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Pages; - -import com.aspose.pdf.Document; -import com.aspose.pdf.facades.PdfFileEditor; - -public class ResizePageContentsOfSpecificPagesInAPDFFile { - - public static void main(String[] args) { - // Create PdfFileEditor Object - PdfFileEditor fileEditor = new PdfFileEditor(); - // Open PDF Document - Document doc = new Document("Input.pdf"); - // Specify Parameter to be used for resizing - PdfFileEditor.ContentsResizeParameters parameters = new PdfFileEditor.ContentsResizeParameters( - // left margin = 10% of page width - PdfFileEditor.ContentsResizeValue.percents(10), - // new contents width calculated automatically as width - left margin - right margin (100% - 10% - 10% = 80%) - null, - // right margin is 10% of page - PdfFileEditor.ContentsResizeValue.percents(10), - // top margin = 10% of height - PdfFileEditor.ContentsResizeValue.percents(10), - // new contents height is calculated automatically (similar to width) - null, - // bottom margin is 10% - PdfFileEditor.ContentsResizeValue.percents(10)); - // Resize Page Contents - fileEditor.resizeContents(doc, new int[] { 1, 3 }, parameters); - // save resized document - doc.save("Rsizecontents.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/SecurityAndSignatures/AddDigitalSignatureInAPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/SecurityAndSignatures/AddDigitalSignatureInAPDFFile.java deleted file mode 100644 index 1b28f1a7..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/SecurityAndSignatures/AddDigitalSignatureInAPDFFile.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.SecurityAndSignatures; - -import com.aspose.pdf.PKCS1; -import com.aspose.pdf.facades.PdfFileSignature; - -public class AddDigitalSignatureInAPDFFile { - - public static void main(String[] args) { - // Path to Directory - String myDir = "PathToDir"; - // create PdfFileSignature object and bind input PDF files - PdfFileSignature pdfSign = new PdfFileSignature(); - pdfSign.bindPdf("input.pdf"); - // create a rectangle for signature location - java.awt.Rectangle rect = new java.awt.Rectangle(100, 100, 200, 100); - // set signature appearance - pdfSign.setSignatureAppearance(myDir + "imgLogoPdf1.png"); - // create any of the three signature types - PKCS1 signature = new PKCS1(myDir + "temp.pfx", "password"); - // PKCS7 signature = new PKCS7(myDir + "temp.pfx", "password"); // PKCS#7 or - // PKCS7Detached signature = new PKCS7Detached("temp.pfx", "password"); // PKCS#7 detached - pdfSign.sign(1, "Signature Reason", "Contact", "Location", true, rect, signature); - // save output PDF file - pdfSign.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/SecurityAndSignatures/SetPrivilegesOnAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/SecurityAndSignatures/SetPrivilegesOnAnExistingPDFFile.java deleted file mode 100644 index 1c7d87cc..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/SecurityAndSignatures/SetPrivilegesOnAnExistingPDFFile.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.SecurityAndSignatures; - -import com.aspose.pdf.facades.DocumentPrivilege; -import com.aspose.pdf.facades.PdfFileSecurity; - -public class SetPrivilegesOnAnExistingPDFFile { - - public static void main(String[] args) { - // Create DocumentPrivileges object - DocumentPrivilege privilege = DocumentPrivilege.getForbidAll(); - privilege.setChangeAllowLevel(1); - privilege.setAllowPrint(true); - privilege.setAllowCopy(true); - // Open PDF document - PdfFileSecurity fileSecurity = new PdfFileSecurity(); - fileSecurity.bindPdf("input.pdf"); - // Set document privileges - fileSecurity.setPrivilege(privilege); - fileSecurity.save("output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/StampsAndWatermarks/AddPageNumberInAPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/StampsAndWatermarks/AddPageNumberInAPDFFile.java deleted file mode 100644 index c7441de1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/StampsAndWatermarks/AddPageNumberInAPDFFile.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.StampsAndWatermarks; - -import java.awt.Color; - -import com.aspose.pdf.facades.EncodingType; -import com.aspose.pdf.facades.FormattedText; -import com.aspose.pdf.facades.PdfFileInfo; -import com.aspose.pdf.facades.PdfFileStamp; - -public class AddPageNumberInAPDFFile { - - public static void main(String[] args) { - // open document - PdfFileStamp fileStamp = new PdfFileStamp(); - fileStamp.bindPdf("input.pdf"); - // get total number of pages - int totalPages = new PdfFileInfo("input.pdf").getNumberOfPages(); - // create formatted text for page number - FormattedText formattedText = new FormattedText("Page # Of " + totalPages, Color.BLUE, Color.GRAY, com.aspose.pdf.facades.FontStyle.Courier, EncodingType.Winansi, false, 14); - // set starting number for first page; you might want to start from 2 or more - fileStamp.setStartingNumber(1); - // add page number - fileStamp.addPageNumber(formattedText, 0); - // save updated PDF file - fileStamp.save("output.pdf"); - fileStamp.close(); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/AddTextInAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/AddTextInAnExistingPDFFile.java deleted file mode 100644 index fdca4dc1..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/AddTextInAnExistingPDFFile.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Text; - -import java.awt.Color; - -import com.aspose.pdf.facades.EncodingType; -import com.aspose.pdf.facades.FontStyle; -import com.aspose.pdf.facades.FormattedText; -import com.aspose.pdf.facades.PdfFileMend; -import com.aspose.pdf.facades.WordWrapMode; - -public class AddTextInAnExistingPDFFile { - - public static void main(String[] args) { - // create PdfFileMend object to add text - PdfFileMend mender = new PdfFileMend(); - mender.bindPdf("Input.pdf"); - // create formatted text - FormattedText text = new FormattedText("Aspose - Your File Format Experts!", Color.BLUE, Color.GRAY, FontStyle.Courier, EncodingType.Winansi, true, 14); - // set whether to use Word Wrap or not and using which mode - mender.setWordWrap(true); - mender.setWrapMode(WordWrapMode.Default); - // add text in the PDF file - mender.addText(text, 1, 100, 200, 200, 400); - // save output PDF - mender.save("Output.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromARangeOfPages.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromARangeOfPages.java deleted file mode 100644 index 00855a15..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromARangeOfPages.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Text; - -import com.aspose.pdf.facades.PdfExtractor; - -public class ExtractTextFromARangeOfPages { - - public static void main(String[] args) { - // open input PDF - PdfExtractor pdfExtractor = new PdfExtractor(); - pdfExtractor.bindPdf("Input.pdf"); - // specify start and end pages - pdfExtractor.setStartPage(2); - pdfExtractor.setEndPage(3); - // use parameterless ExtractText method - pdfExtractor.extractText(); - // Save the extracted text to a text file - pdfExtractor.getText("Output.txt"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromIndividualPagesOfAPDF.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromIndividualPagesOfAPDF.java deleted file mode 100644 index 8d994e0e..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromIndividualPagesOfAPDF.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Text; - -import com.aspose.pdf.facades.PdfExtractor; - -public class ExtractTextFromIndividualPagesOfAPDF { - - public static void main(String[] args) { - // open input PDF - PdfExtractor pdfExtractor = new PdfExtractor(); - pdfExtractor.bindPdf("Input.pdf"); - // use parameterless ExtractText method - pdfExtractor.extractText(); - int pageNumber = 1; - while (pdfExtractor.hasNextPageText()) { - pdfExtractor.getNextPageText("output" + pageNumber + ".txt"); - pageNumber++; - } - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromTheWholePDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromTheWholePDFFile.java deleted file mode 100644 index 9729c78e..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ExtractTextFromTheWholePDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Text; - -import com.aspose.pdf.facades.PdfExtractor; - -public class ExtractTextFromTheWholePDFFile { - - public static void main(String[] args) { - // open input PDF - PdfExtractor pdfExtractor = new PdfExtractor(); - pdfExtractor.bindPdf("Input.pdf"); - // use parameterless ExtractText method - pdfExtractor.extractText(); - // Save the extracted text to a text file - pdfExtractor.getText("Output.txt"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ReplaceTextInAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ReplaceTextInAnExistingPDFFile.java deleted file mode 100644 index df1d7c04..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ReplaceTextInAnExistingPDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Text; - -import com.aspose.pdf.facades.PdfContentEditor; - -public class ReplaceTextInAnExistingPDFFile { - - public static void main(String[] args) { - // open input PDF - PdfContentEditor pdfContentEditor = new PdfContentEditor(); - pdfContentEditor.bindPdf("Input.pdf"); - // replace text on all pages - pdfContentEditor.replaceText("Hello", "World"); - // save output PDF - pdfContentEditor.save("ReplaceTextOnAllPages.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ReplaceTextOnAParticularPageInAnExistingPDFFile.java b/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ReplaceTextOnAParticularPageInAnExistingPDFFile.java deleted file mode 100644 index 434b41b6..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/AsposePdfFacades/Text/ReplaceTextOnAParticularPageInAnExistingPDFFile.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.aspose.pdf.examples.AsposePdfFacades.Text; - -import com.aspose.pdf.facades.PdfContentEditor; - -public class ReplaceTextOnAParticularPageInAnExistingPDFFile { - - public static void main(String[] args) { - // open input PDF - PdfContentEditor pdfContentEditor = new PdfContentEditor(); - pdfContentEditor.bindPdf("Input.pdf"); - // replace text on a particular page - pdfContentEditor.replaceText("Content", 2, "World"); - // save output PDF - pdfContentEditor.save("ReplaceTextOnAllPages.pdf"); - } -} diff --git a/Examples/src/main/java/com/aspose/pdf/examples/Utils.java b/Examples/src/main/java/com/aspose/pdf/examples/Utils.java deleted file mode 100644 index 5ddf6f9f..00000000 --- a/Examples/src/main/java/com/aspose/pdf/examples/Utils.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.aspose.pdf.examples; - -import java.io.File; - -public class Utils { - - public static String getDataDir(Class c) { - File dir = new File(System.getProperty("user.dir")); - dir = new File(dir, "src"); - dir = new File(dir, "main"); - dir = new File(dir, "resources"); - - for (String s : c.getName().split("\\.")) { - dir = new File(dir, s); - if (dir.isDirectory() == false) - dir.mkdir(); - } - - System.out.println("Using data directory: " + dir.toString()); - return dir.toString() + File.separator; - } - - public static String getSharedDataDir(Class c) { - File dir = new File(System.getProperty("user.dir")); - dir = new File(dir, "src"); - dir = new File(dir, "main"); - dir = new File(dir, "resources"); - - return dir.toString() + File.separator; - } -} diff --git a/Examples/src/main/resources/AsposePdfExamples/Tables/input.pdf b/Examples/src/main/resources/AsposePdfExamples/Tables/input.pdf deleted file mode 100644 index 9f35f917..00000000 Binary files a/Examples/src/main/resources/AsposePdfExamples/Tables/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/DocumentConversion/resultant.docx b/Examples/src/main/resources/DocumentConversion/resultant.docx deleted file mode 100644 index 2162be8c..00000000 Binary files a/Examples/src/main/resources/DocumentConversion/resultant.docx and /dev/null differ diff --git a/Examples/src/main/resources/LinksAndActions/Hyerplink_to_PDF.pdf b/Examples/src/main/resources/LinksAndActions/Hyerplink_to_PDF.pdf deleted file mode 100644 index 181491b7..00000000 Binary files a/Examples/src/main/resources/LinksAndActions/Hyerplink_to_PDF.pdf and /dev/null differ diff --git a/Examples/src/main/resources/LinksAndActions/SampleDataTable.pdf b/Examples/src/main/resources/LinksAndActions/SampleDataTable.pdf deleted file mode 100644 index 23cc0d8c..00000000 Binary files a/Examples/src/main/resources/LinksAndActions/SampleDataTable.pdf and /dev/null differ diff --git a/Examples/src/main/resources/LinksAndActions/input.pdf b/Examples/src/main/resources/LinksAndActions/input.pdf deleted file mode 100644 index e2dba6d3..00000000 Binary files a/Examples/src/main/resources/LinksAndActions/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/PDFToHTML/input.pdf b/Examples/src/main/resources/PDFToHTML/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/PDFToHTML/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addannotation/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addannotation/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addannotation/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addannotation/output.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addannotation/output.pdf deleted file mode 100644 index 6b6f914c..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addannotation/output.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addswfasannotation/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addswfasannotation/input.pdf deleted file mode 100644 index 3d27b9a2..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addswfasannotation/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addswfasannotation/input.swf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addswfasannotation/input.swf deleted file mode 100644 index 59e45513..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/addswfasannotation/input.swf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/deleteallannotations/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/deleteallannotations/input.pdf deleted file mode 100644 index 3d27b9a2..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/deleteallannotations/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/deleteparticularannotation/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/deleteparticularannotation/input.pdf deleted file mode 100644 index 3d27b9a2..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/deleteparticularannotation/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/getallannotations/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/getallannotations/input.pdf deleted file mode 100644 index 3d27b9a2..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/getallannotations/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/getparticularannotation/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/getparticularannotation/input.pdf deleted file mode 100644 index 3d27b9a2..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/getparticularannotation/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/setformatting/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/setformatting/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Annotations/setformatting/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/addattachment/test.txt b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/addattachment/test.txt deleted file mode 100644 index d040f219..00000000 --- a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/addattachment/test.txt +++ /dev/null @@ -1 +0,0 @@ -Aspose.Pdf for .NET \ No newline at end of file diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/deleteallattachments/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/deleteallattachments/input.pdf deleted file mode 100644 index 38506d0f..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/deleteallattachments/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/1.txt b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/1.txt deleted file mode 100644 index d040f219..00000000 --- a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/1.txt +++ /dev/null @@ -1 +0,0 @@ -Aspose.Pdf for .NET \ No newline at end of file diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/2.txt b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/2.txt deleted file mode 100644 index d040f219..00000000 --- a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/2.txt +++ /dev/null @@ -1 +0,0 @@ -Aspose.Pdf for .NET \ No newline at end of file diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/input.pdf deleted file mode 100644 index 38506d0f..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getallattachments/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getindividualattachment/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getindividualattachment/input.pdf deleted file mode 100644 index 17721ecc..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getindividualattachment/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getinfoofattachment/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getinfoofattachment/input.pdf deleted file mode 100644 index 38506d0f..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Attachments/getinfoofattachment/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Bookmarks/deleteallbookmarks/output.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Bookmarks/deleteallbookmarks/output.pdf deleted file mode 100644 index bc1f47ee..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Bookmarks/deleteallbookmarks/output.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Bookmarks/updatechildbookmarks/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Bookmarks/updatechildbookmarks/input.pdf deleted file mode 100644 index 2c142252..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Bookmarks/updatechildbookmarks/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/addtoc/source.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/addtoc/source.pdf deleted file mode 100644 index 39aa09da..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/addtoc/source.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getdocumentwindow/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getdocumentwindow/input.pdf deleted file mode 100644 index 35c75055..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getdocumentwindow/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getpdffileinfo/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getpdffileinfo/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getpdffileinfo/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getsetzoomfactor/getzoomfactor/Zoomed_pdf.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getsetzoomfactor/getzoomfactor/Zoomed_pdf.pdf deleted file mode 100644 index 71ef4a12..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getsetzoomfactor/getzoomfactor/Zoomed_pdf.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getxmpmetadata/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getxmpmetadata/input.pdf deleted file mode 100644 index 5a7715c9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/getxmpmetadata/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/optimizepdfdocument/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/optimizepdfdocument/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/optimizepdfdocument/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setdocumentwindow/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setdocumentwindow/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setdocumentwindow/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setpdffileinfo/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setpdffileinfo/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setpdffileinfo/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setxmpmetadata/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setxmpmetadata/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/setxmpmetadata/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/validatepdfforpdfastandard/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/validatepdfforpdfastandard/input.pdf deleted file mode 100644 index ca4d0cf9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Documents/validatepdfforpdfastandard/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/addtooltiptofield/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/addtooltiptofield/input.pdf deleted file mode 100644 index b014d7f9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/addtooltiptofield/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/addtooltiptofield/output.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/addtooltiptofield/output.pdf deleted file mode 100644 index 17ffcae3..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/addtooltiptofield/output.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/deleteformfield/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/deleteformfield/input.pdf deleted file mode 100644 index b014d7f9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/deleteformfield/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/determinerequiredfield/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/determinerequiredfield/input.pdf deleted file mode 100644 index f19f1544..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/determinerequiredfield/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/dynamicxfatoacroform/Contact Form - xfa.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/dynamicxfatoacroform/Contact Form - xfa.pdf deleted file mode 100644 index 60c3b5b0..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/dynamicxfatoacroform/Contact Form - xfa.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/dynamicxfatoacroform/Standard_AcroForm.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/dynamicxfatoacroform/Standard_AcroForm.pdf deleted file mode 100644 index 1cfabff9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/dynamicxfatoacroform/Standard_AcroForm.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/fillformfield/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/fillformfield/input.pdf deleted file mode 100644 index b014d7f9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/fillformfield/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/formfieldfont14/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/formfieldfont14/input.pdf deleted file mode 100644 index b014d7f9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/formfieldfont14/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getfieldsfromregion/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getfieldsfromregion/input.pdf deleted file mode 100644 index b014d7f9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getfieldsfromregion/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getvaluefromfield/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getvaluefromfield/input.pdf deleted file mode 100644 index fb7fccf2..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getvaluefromfield/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getvaluesfromallfields/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getvaluesfromallfields/input.pdf deleted file mode 100644 index fb7fccf2..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/getvaluesfromallfields/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/modifyformfield/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/modifyformfield/input.pdf deleted file mode 100644 index b014d7f9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/modifyformfield/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/moveformfield/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/moveformfield/input.pdf deleted file mode 100644 index b014d7f9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/moveformfield/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/workingwithxfa/getxfaproperties/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/workingwithxfa/getxfaproperties/input.pdf deleted file mode 100644 index 362785d4..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Forms/workingwithxfa/getxfaproperties/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image1.jpg b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image1.jpg deleted file mode 100644 index 3c7068ab..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image1.jpg and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image2.jpg b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image2.jpg deleted file mode 100644 index ebc42452..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image2.jpg and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image3.jpg b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image3.jpg deleted file mode 100644 index db66ca30..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Images/convertpdfpages/Converted_Image3.jpg and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/deleteparticularpage/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/deleteparticularpage/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/deleteparticularpage/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/getparticularpage/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/getparticularpage/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/getparticularpage/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/insertemptypage/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/insertemptypage/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/insertemptypage/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/insertemptypageatend/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/insertemptypageatend/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/insertemptypageatend/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/splittoindividualpages/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/splittoindividualpages/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/splittoindividualpages/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/updatepagedimensions/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/updatepagedimensions/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Pages/updatepagedimensions/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/addtext/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/addtext/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/addtext/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/addtext/text-added.out.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/addtext/text-added.out.pdf deleted file mode 100644 index e95353bf..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/addtext/text-added.out.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/extracttextallpages/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/extracttextallpages/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/extracttextallpages/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/extracttextpage/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/extracttextpage/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/extracttextpage/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/replacetextallpages/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/replacetextallpages/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/replacetextallpages/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextallpages/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextallpages/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextallpages/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextallpagesregularexpression/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextallpagesregularexpression/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextallpagesregularexpression/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextapageregularexpression/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextapageregularexpression/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextapageregularexpression/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextpage/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextpage/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextpage/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextsegmentsallpages/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextsegmentsallpages/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextsegmentsallpages/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextsegmentspage/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextsegmentspage/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdf/Text/searchgettextsegmentspage/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/exportbookmarkstoxml/bookmarks.xml b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/exportbookmarkstoxml/bookmarks.xml deleted file mode 100644 index d1d72fa7..00000000 --- a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/exportbookmarkstoxml/bookmarks.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Page1 - Page2 - \ No newline at end of file diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/exportbookmarkstoxml/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/exportbookmarkstoxml/input.pdf deleted file mode 100644 index db3bf80b..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/exportbookmarkstoxml/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/importbookmarksfromxml/Input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/importbookmarksfromxml/Input.pdf deleted file mode 100644 index 91a75caf..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/importbookmarksfromxml/Input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/importbookmarksfromxml/bookmarks.xml b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/importbookmarksfromxml/bookmarks.xml deleted file mode 100644 index 8dccc416..00000000 --- a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Bookmarks/importbookmarksfromxml/bookmarks.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Page1 - Page2 - \ No newline at end of file diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/convertparticularpageregion/input1.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/convertparticularpageregion/input1.pdf deleted file mode 100644 index e162fb07..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/convertparticularpageregion/input1.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/extractimageswholepdf/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/extractimageswholepdf/input.pdf deleted file mode 100644 index db3bf80b..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/extractimageswholepdf/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/replaceimage/Input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/replaceimage/Input.pdf deleted file mode 100644 index 91a75caf..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Images/replaceimage/Input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addfooter/Input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addfooter/Input.pdf deleted file mode 100644 index 91a75caf..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addfooter/Input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addpagenumber/Input_new.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addpagenumber/Input_new.pdf deleted file mode 100644 index 690743cb..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addpagenumber/Input_new.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addpagenumber/output.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addpagenumber/output.pdf deleted file mode 100644 index dd39ba91..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/StampsWatermarks/addpagenumber/output.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/addtext/Input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/addtext/Input.pdf deleted file mode 100644 index 91a75caf..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/addtext/Input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextindividualpages/output1.txt b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextindividualpages/output1.txt deleted file mode 100644 index 1725d56b..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextindividualpages/output1.txt and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextrangepages/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextrangepages/input.pdf deleted file mode 100644 index e2dba6d3..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextrangepages/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextwholepdf/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextwholepdf/input.pdf deleted file mode 100644 index e2dba6d3..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/extracttextwholepdf/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/replacetext/input1.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/replacetext/input1.pdf deleted file mode 100644 index b72f8ef9..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/replacetext/input1.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/replacetextparticularpage/input.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/replacetextparticularpage/input.pdf deleted file mode 100644 index db3bf80b..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfFacades/Text/replacetextparticularpage/input.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Conversion/htmltopdf/Aspose.htm b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Conversion/htmltopdf/Aspose.htm deleted file mode 100644 index b3f604a4..00000000 --- a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Conversion/htmltopdf/Aspose.htm +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - -
- -

Company Information

- -

-Aspose is a leading vendor of .NET, Java and SharePoint development components, and -rendering extensions for platforms such as Microsoft SQL Server Reporting -Services and JasperReports. Aspose's core focus is to offer the most complete and powerful set of file management -products on the market. Aspose products support some -of the most popular file formats in business, including: Word documents, Excel -spreadsheets, PowerPoint presentations, PDF documents, Microsoft Visio diagrams -and Microsoft Project files. We also offer OCR and image manipulation tools

- -

- -
- - - - diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Conversion/htmltopdf/HTML2pdf.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Conversion/htmltopdf/HTML2pdf.pdf deleted file mode 100644 index 0b830222..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Conversion/htmltopdf/HTML2pdf.pdf and /dev/null differ diff --git a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Documents/setdocumentinfo/DocInfo.pdf b/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Documents/setdocumentinfo/DocInfo.pdf deleted file mode 100644 index 15dbddbc..00000000 Binary files a/Examples/src/main/resources/com/aspose/pdf/examples/AsposePdfGenerator/Documents/setdocumentinfo/DocInfo.pdf and /dev/null differ diff --git a/Examples/src/main/resources/pages/input.pdf b/Examples/src/main/resources/pages/input.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Examples/src/main/resources/pages/input.pdf and /dev/null differ diff --git a/LICENSE b/LICENSE index f83cc4c8..cfd30602 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2001-2016 Aspose Pty Ltd +Copyright (c) 2001-2025 Aspose Pty Ltd Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToDoc.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToDoc.py deleted file mode 100644 index 71db1557..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToDoc.py +++ /dev/null @@ -1,18 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document - -class PdfToDoc: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentConversion/PdfToDoc/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # Save the concatenated output file (the target document) - pdf.save(dataDir + "output.doc") - - print "Document has been converted successfully" - -if __name__ == '__main__': - PdfToDoc() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToExcel.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToExcel.py deleted file mode 100644 index 81f9ce07..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToExcel.py +++ /dev/null @@ -1,22 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import ExcelSaveOptions - -class PdfToExcel: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentConversion/PdfToExcel/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # Instantiate ExcelSave Option object - excelsave = ExcelSaveOptions() - - # Save the output to XLS format - pdf.save(dataDir + "Converted_Excel.xls", excelsave) - - print "Document has been converted successfully" - -if __name__ == '__main__': - PdfToExcel() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToSvg.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToSvg.py deleted file mode 100644 index 55129c10..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/PdfToSvg.py +++ /dev/null @@ -1,25 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import SvgSaveOptions - -class PdfToSvg: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentConversion/PdfToSvg/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf'); - - # instantiate an object of SvgSaveOptions - save_options = SvgSaveOptions(); - - # do not compress SVG image to Zip archive - save_options.CompressOutputToZipArchive = False; - - # Save the output to XLS format - pdf.save(dataDir + "Output.svg", save_options); - - print "Document has been converted successfully" - -if __name__ == '__main__': - PdfToSvg() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/SvgToPdf.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/SvgToPdf.py deleted file mode 100644 index 1f6df240..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentConversion/SvgToPdf.py +++ /dev/null @@ -1,22 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import SvgLoadOptions - -class SvgToPdf: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentConversion/SvgToPdf/' - - # Instantiate LoadOption object using SVG load option - options = SvgLoadOptions() - - # Create document object - pdf = Document(dataDir + 'Example.svg', options) - - # Save the output to XLS format - pdf.save(dataDir + "SVG.pdf") - - print "Document has been converted successfully" - -if __name__ == '__main__': - SvgToPdf() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/AddJavascript.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/AddJavascript.py deleted file mode 100644 index 2f28207c..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/AddJavascript.py +++ /dev/null @@ -1,30 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import JavascriptAction - -class AddJavascript: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentObject/AddJavascript/' - - # Open a pdf document. - doc = Document(dataDir + "input1.pdf") - - # Adding JavaScript at Document Level - # Instantiate JavascriptAction with desried JavaScript statement - javaScript = JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true})") - - # Assign JavascriptAction object to desired action of Document - doc.setOpenAction(javaScript) - - # Adding JavaScript at Page Level - doc.getPages().get_Item(2).getActions().setOnOpen(JavascriptAction("app.alert('page 2 is opened')")) - doc.getPages().get_Item(2).getActions().setOnClose(JavascriptAction("app.alert('page 2 is closed')")) - - # Save PDF Document - doc.save(dataDir + "JavaScript-Added.pdf") - - print "Added JavaScript Successfully, please check the output file." - -if __name__ == '__main__': - AddJavascript() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetDocumentWindow.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetDocumentWindow.py deleted file mode 100644 index 79edeb8f..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetDocumentWindow.py +++ /dev/null @@ -1,58 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document - -class GetDocumentWindow: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentObject/GetDocumentWindow/' - - # Open a pdf document. - doc = Document(dataDir + "input1.pdf") - - # Get different document properties - # Position of document's window - Default: false - print "CenterWindow :- " - print doc.getCenterWindow() - - # Predominant reading order; determine the position of page - # when displayed side by side - Default: L2R - print "Direction :- " - print doc.getDirection() - - # Whether window's title bar should display document title. - # If false, title bar displays PDF file name - Default: false - print "DisplayDocTitle :- " - print doc.getDisplayDocTitle() - - #Whether to resize the document's window to fit the size of - #first displayed page - Default: false - print "FitWindow :- " - print doc.getFitWindow() - - # Whether to hide menu bar of the viewer application - Default: false - print "HideMenuBar :-" - print doc.getHideMenubar() - - # Whether to hide tool bar of the viewer application - Default: false - print "HideToolBar :-" - print doc.getHideToolBar() - - # Whether to hide UI elements like scroll bars - # and leaving only the page contents displayed - Default: false - print "HideWindowUI :-" - print doc.getHideWindowUI() - - # The document's page mode. How to display document on exiting full-screen mode. - print "NonFullScreenPageMode :-" - print doc.getNonFullScreenPageMode() - - # The page layout i.e. single page, one column - print "PageLayout :-" - print doc.getPageLayout() - - #How the document should display when opened. - print "pageMode :-" - print doc.getPageMode() - -if __name__ == '__main__': - GetDocumentWindow() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetPdfFileInfo.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetPdfFileInfo.py deleted file mode 100644 index 5307a83c..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetPdfFileInfo.py +++ /dev/null @@ -1,30 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document - -class GetPdfFileInfo: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentObject/GetPdfFileInfo/' - - # Open a pdf document. - doc = Document(dataDir + "input1.pdf") - - # Get document information - doc_info = doc.getInfo() - - # Show document information - print "Author:" - print doc_info.getAuthor() - print "Creation Date:" - print doc_info.getCreationDate() - print "Keywords:" - print doc_info.getKeywords() - print "Modify Date:" - print doc_info.getModDate() - print "Subject:" - print doc_info.getSubject() - print "Title:" - print doc_info.getTitle() - -if __name__ == '__main__': - GetPdfFileInfo() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetXMPMetadata.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetXMPMetadata.py deleted file mode 100644 index 68eb2500..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/GetXMPMetadata.py +++ /dev/null @@ -1,21 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document - -class GetXMPMetadata: - - def __init__(self): - dataDir = Settings.dataDir + 'WorkingWithDocumentObject/GetXMPMetadata/' - - # Open a pdf document. - doc = Document(dataDir + "input1.pdf") - - # Get properties - print "xmp:CreateDate: " - print doc.getMetadata().get_Item("xmp:CreateDate") - print "xmp:Nickname: " - print doc.getMetadata().get_Item("xmp:Nickname") - print "xmp:CustomProperty: " - print doc.getMetadata().get_Item("xmp:CustomProperty") - -if __name__ == '__main__': - GetXMPMetadata() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/Optimize.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/Optimize.py deleted file mode 100644 index a5d3a18b..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/Optimize.py +++ /dev/null @@ -1,26 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf.Document import OptimizationOptions - -class Optimize: - - def __init__(self): - self.optimize_web() - - def optimize_web(dataDir): - - dataDir = Settings.dataDir + 'WorkingWithDocumentObject/Optimize/' - - # Open a pdf document. - doc = Document(dataDir + "input1.pdf") - - # Optimize for web - doc.optimize() - - #Save output document - doc.save(dataDir + "Optimized_Web.pdf") - - print "Optimized PDF for the Web, please check output file." - -if __name__ == '__main__': - Optimize() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/SetExpiration.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/SetExpiration.py deleted file mode 100644 index 586fe08b..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/SetExpiration.py +++ /dev/null @@ -1,33 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import JavascriptAction - -class SetExpiration: - - def __init__(self): - self.optimize_web() - - def optimize_web(dataDir): - - dataDir = Settings.dataDir + 'WorkingWithDocumentObject/SetExpiration/' - - # Open a pdf document. - doc = Document(dataDir + "input1.pdf") - - javascript = JavascriptAction( - "var year=2014;" "var month=4;" "today = new Date();" - "today = new Date(today.getFullYear(), today.getMonth());" - "expiry = new Date(year, month);" - "if (today.getTime() > expiry.getTime())" - "app.alert('The file is expired. You need a new one.');" - ) - - doc.setOpenAction(javascript) - - # save update document with information - doc.save(dataDir + "set_expiration.pdf") - - print "Update document information, please check output file." - -if __name__ == '__main__': - SetExpiration() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/SetPdfFileInfo.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/SetPdfFileInfo.py deleted file mode 100644 index 7afb6281..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithDocumentObject/SetPdfFileInfo.py +++ /dev/null @@ -1,31 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class SetPdfFileInfo: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithDocumentObject/SetPdfFileInfo/' - - # Open a pdf document. - doc = Document(dataDir + "input1.pdf") - - # Get document information - doc_info = doc.getInfo() - - doc_info.setAuthor("Aspose.Pdf for java") - doc_info.setCreationDate(Date()) - doc_info.setKeywords("Aspose.Pdf, DOM, API") - doc_info.setModDate(Date()) - doc_info.setSubject("PDF Information") - doc_info.setTitle("Setting PDF Document Information") - - # save update document with information - doc.save(dataDir + "Updated_Information.pdf") - - print "Update document information, please check output file." - -if __name__ == '__main__': - SetPdfFileInfo() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/ConcatenatePdfFiles.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/ConcatenatePdfFiles.py deleted file mode 100644 index d98f7c83..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/ConcatenatePdfFiles.py +++ /dev/null @@ -1,27 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class ConcatenatePdfFiles: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/ConcatenatePdfFiles/' - - # Open the target document - pdf1 = Document(dataDir + 'input1.pdf') - - # Open the source document - pdf2 = Document(dataDir + 'input2.pdf') - - # Add the pages of the source document to the target document - pdf1.getPages().add(pdf2.getPages()) - - # Save the concatenated output file (the target document) - pdf1.save(dataDir + "Concatenate_output.pdf") - - print "New document has been saved, please check the output file" - -if __name__ == '__main__': - ConcatenatePdfFiles() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/DeletePage.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/DeletePage.py deleted file mode 100644 index 9d5143ad..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/DeletePage.py +++ /dev/null @@ -1,24 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class DeletePage: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/DeletePage/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # delete a particular page - pdf.getPages().delete(2) - - # save the newly generated PDF file - pdf.save(dataDir + "output.pdf") - - print "Page deleted successfully!" - -if __name__ == '__main__': - DeletePage() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetNumberOfPages.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetNumberOfPages.py deleted file mode 100644 index 581269a5..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetNumberOfPages.py +++ /dev/null @@ -1,21 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class GetNumberOfPages: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/GetNumberOfPages/' - - # Create PDF document - pdf = Document(dataDir + 'input1.pdf') - - page_count = pdf.getPages().size() - - print "Page Count:" - print page_count - -if __name__ == '__main__': - GetNumberOfPages() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetPage.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetPage.py deleted file mode 100644 index 2b2db3da..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetPage.py +++ /dev/null @@ -1,30 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class GetPage: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/GetPage/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # get the page at particular index of Page Collection - pdf_page = pdf.getPages().get_Item(1) - - # create a Document object - new_document = Document() - - # add page to pages collection of document object - new_document.getPages().add(pdf_page) - - # save the newly generated PDF file - new_document.save(dataDir + "output.pdf") - - print "Process completed successfully!" - -if __name__ == '__main__': - GetPage() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetPageProperties.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetPageProperties.py deleted file mode 100644 index 666fe139..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/GetPageProperties.py +++ /dev/null @@ -1,111 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class GetPageProperties: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/GetPageProperties/' - - # Create PDF document - pdf_document = Document(dataDir + 'input1.pdf'); - - # get page collection - page_collection =pdf_document.getPages(); - - # get particular page - pdf_page =page_collection.get_Item(1); - - #get page properties - print "ArtBox : Height = " - print pdf_page.getArtBox().getHeight() - print ", Width = " - print pdf_page.getArtBox().getWidth() - print ", LLX = " - print pdf_page.getArtBox().getLLX() - print ", LLY = " - print pdf_page.getArtBox().getLLY() - print ", URX = " - print pdf_page.getArtBox().getURX() - print ", URY = " - print pdf_page.getArtBox().getURY() - - - print "BleedBox : Height = " - print pdf_page.getBleedBox().getHeight() - print ", Width = " - print pdf_page.getBleedBox().getWidth() - print ", LLX = " - print pdf_page.getBleedBox().getLLX() - print ", LLY = " - print pdf_page.getBleedBox().getLLY() - print ", URX = " - print pdf_page.getBleedBox().getURX() - print ", URY = " - print pdf_page.getBleedBox().getURY() - - - print "CropBox : Height = " - print pdf_page.getCropBox().getHeight() - print ", Width = " - print pdf_page.getCropBox().getWidth() - print ", LLX = " - print pdf_page.getCropBox().getLLX() - print ", LLY = " - print pdf_page.getCropBox().getLLY() - print ", URX = " - print pdf_page.getCropBox().getURX() - print ", URY = " - print pdf_page.getCropBox().getURY() - - - print "MediaBox : Height = " - print pdf_page.getMediaBox().getHeight() - print ", Width = " - print pdf_page.getMediaBox().getWidth() - print ", LLX = " - print pdf_page.getMediaBox().getLLX() - print ", LLY = " - print pdf_page.getMediaBox().getLLY() - print ", URX = " - print pdf_page.getMediaBox().getURX() - print ", URY = " - print pdf_page.getMediaBox().getURY() - - print "TrimBox : Height = " - print pdf_page.getTrimBox().getHeight() - print ", Width = " - print pdf_page.getTrimBox().getWidth() - print ", LLX = " - print pdf_page.getTrimBox().getLLX() - print ", LLY = " - print pdf_page.getTrimBox() - print getLLY() - print ", URX = " - print pdf_page.getTrimBox().getURX() - print ", URY = " - print pdf_page.getTrimBox().getURY() - - - print "Rect : Height = " - print pdf_page.getRect().getHeight() - print ", Width = " - print pdf_page.getRect().getWidth() - print ", LLX = " - print pdf_page.getRect().getLLX() - print ", LLY = " - print pdf_page.getRect().getLLY() - print ", URX = " - print pdf_page.getRect().getURX() - print ", URY = " +pdf_page.getRect().getURY() - - - print "Page Number :" - print pdf_page.getNumber() - print "Rotate :" - print pdf_page.getRotate() - -if __name__ == '__main__': - GetPageProperties() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/InsertEmptyPage.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/InsertEmptyPage.py deleted file mode 100644 index 93e3b6bf..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/InsertEmptyPage.py +++ /dev/null @@ -1,24 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class InsertEmptyPage: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/InsertEmptyPage/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # insert a empty page in a PDF - pdf.getPages().insert(1) - - # Save the concatenated output file (the target document) - pdf.save(dataDir + "output.pdf") - - print "Empty page added successfully!" - -if __name__ == '__main__': - InsertEmptyPage() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/InsertEmptyPageAtEndOfFile.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/InsertEmptyPageAtEndOfFile.py deleted file mode 100644 index b6e43bb6..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/InsertEmptyPageAtEndOfFile.py +++ /dev/null @@ -1,24 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class InsertEmptyPageAtEndOfFile: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/InsertEmptyPageAtEndOfFile/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # insert a empty page in a PDF - pdf.getPages().add() - - # Save the concatenated output file (the target document) - pdf.save(dataDir + "output.pdf") - - print "Empty page added successfully!" - -if __name__ == '__main__': - InsertEmptyPageAtEndOfFile() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/SplitAllPages.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/SplitAllPages.py deleted file mode 100644 index a832116d..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/SplitAllPages.py +++ /dev/null @@ -1,35 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class SplitAllPages: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/SplitAllPages/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # loop through all the pages - pdf_page = 1 - total_size = pdf.getPages().size() - - while pdf_page <= total_size: - - # create a new Document object - new_document = Document() - - # get the page at particular index of Page Collection - new_document.getPages().add(pdf.getPages().get_Item(pdf_page)) - - # save the newly generated PDF file - new_document.save(dataDir + "page_#{pdf_page}.pdf") - - pdf_page+=1 - - print "Split process completed successfully!" - -if __name__ == '__main__': - SplitAllPages() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/UpdatePageDimensions.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/UpdatePageDimensions.py deleted file mode 100644 index 0f87d919..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithPages/UpdatePageDimensions.py +++ /dev/null @@ -1,31 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from java.util import Date - - -class UpdatePageDimensions: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithPages/UpdatePageDimensions/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # get page collection - page_collection = pdf.getPages() - - # get particular page - pdf_page = page_collection.get_Item(1) - - # set the page size as A4 (11.7 x 8.3 in) and in Aspose.Pdf, 1 inch = 72 points - # so A4 dimensions in points will be (842.4, 597.6) - pdf_page.setPageSize(597.6,842.4) - - # save the newly generated PDF file - pdf.save(dataDir + "output.pdf") - - print "Dimensions updated successfully!" - -if __name__ == '__main__': - UpdatePageDimensions() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/AddHtml.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/AddHtml.py deleted file mode 100644 index ddfb86b8..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/AddHtml.py +++ /dev/null @@ -1,39 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import HtmlFragment -from com.aspose.pdf import MarginInfo - - -class AddHtml: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithText/AddHtml/' - - # Instantiate Document object - doc = Document() - - # Add a page to pages collection of PDF file - page = doc.getPages().add() - - # Instantiate HtmlFragment with HTML contents - title = HtmlFragment("Table") - - # set MarginInfo for margin details - margin = MarginInfo() - margin.setBottom(10) - margin.setTop(200) - - # Set margin information - title.setMargin(margin) - - # Add HTML Fragment to paragraphs collection of page - page.getParagraphs().add(title) - - # Save PDF file - doc.save(dataDir + "html.output.pdf") - - print "HTML added successfully" - -if __name__ == '__main__': - AddHtml() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/AddText.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/AddText.py deleted file mode 100644 index 43d96620..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/AddText.py +++ /dev/null @@ -1,44 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import TextFragment -from com.aspose.pdf import Position -from com.aspose.pdf import FontRepository -from com.aspose.pdf import TextBuilder - - -class AddText: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithText/AddText/' - - # Instantiate Document object - doc = Document(dataDir + 'input1.pdf') - - # get particular page - pdf_page = doc.getPages().get_Item(1) - - # create text fragment - text_fragment = TextFragment("main text") - text_fragment.setPosition(Position(100, 600)) - - - font_repository = FontRepository() - - # set text properties - text_fragment.getTextState().setFont(font_repository.findFont("Verdana")) - text_fragment.getTextState().setFontSize(14) - - # create TextBuilder object - text_builder = TextBuilder(pdf_page) - - # append the text fragment to the PDF page - text_builder.appendText(text_fragment) - - # Save PDF file - doc.save(dataDir + "Text_Added.pdf") - - print "Text added successfully" - -if __name__ == '__main__': - AddText() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/ExtractTextFromAllPages.py b/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/ExtractTextFromAllPages.py deleted file mode 100644 index c3e143ac..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/asposepdf/WorkingWithText/ExtractTextFromAllPages.py +++ /dev/null @@ -1,42 +0,0 @@ -from asposepdf import Settings -from com.aspose.pdf import Document -from com.aspose.pdf import TextAbsorber -from java.io import FileWriter -from java.io import File - - - -class ExtractTextFromAllPages: - - def __init__(self): - - dataDir = Settings.dataDir + 'WorkingWithText/ExtractTextFromAllPages/' - - # Open the target document - pdf = Document(dataDir + 'input1.pdf') - - # create TextAbsorber object to extract text - text_absorber = TextAbsorber() - - # accept the absorber for all the pages - pdf.getPages().accept(text_absorber) - - # In order to extract text from specific page of document, we need to specify the particular page using its index against accept(..) method. - # accept the absorber for particular PDF page - # pdfDocument.getPages().get_Item(1).accept(textAbsorber) - - #get the extracted text - extracted_text = text_absorber.getText() - - # create a writer and open the file - writer = FileWriter(File(dataDir + "extracted_text.out.txt")) - writer.write(extracted_text) - # write a line of text to the file - # tw.WriteLine(extractedText) - # close the stream - writer.close() - - print "Text extracted successfully. Check output file." - -if __name__ == '__main__': - ExtractTextFromAllPages() \ No newline at end of file diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToDoc/output.doc b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToDoc/output.doc deleted file mode 100644 index e3b4c6a7..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToDoc/output.doc and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToExcel/Converted_Excel.xls b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToExcel/Converted_Excel.xls deleted file mode 100644 index 12bd1e6c..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToExcel/Converted_Excel.xls +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - Evaluation Only. Created with Aspose.Pdf. Copyright 2002-2016 Aspose Pty Ltd. - - - Sample PDF File 1 – - - - - - - - Evaluation Only. Created with Aspose.Pdf. Copyright 2002-2016 Aspose Pty Ltd. - - - Sample PDF File 1 – - - - - diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToSvg/Output.svg b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToSvg/Output.svg deleted file mode 100644 index 4f93283b..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToSvg/Output.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - -Evaluation Only. Created with Aspose.Pdf. Copyright 2002-2016 Aspose Pty Ltd. - - - -Sam - - -ple - - -PDF Fi - - -le - - -1 - - -– - - - - - -Page - - -1 - - - - - - - - - - - - - diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToSvg/Output_2.svg b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToSvg/Output_2.svg deleted file mode 100644 index 5662031a..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithDocumentConversion/PdfToSvg/Output_2.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - -Evaluation Only. Created with Aspose.Pdf. Copyright 2002-2016 Aspose Pty Ltd. - - - -Sam - - -ple - - -PDF Fi - - -le - - -1 - - -– - - - - - -Page - - -2 - - - - - - - diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/ConcatenatePdfFiles/Concatenate_output.pdf b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/ConcatenatePdfFiles/Concatenate_output.pdf deleted file mode 100644 index e52bc981..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/ConcatenatePdfFiles/Concatenate_output.pdf and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/DeletePage/output.pdf b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/DeletePage/output.pdf deleted file mode 100644 index 5e4bb826..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/DeletePage/output.pdf and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/GetPage/output.pdf b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/GetPage/output.pdf deleted file mode 100644 index 49540756..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/GetPage/output.pdf and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/InsertEmptyPage/output.pdf b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/InsertEmptyPage/output.pdf deleted file mode 100644 index abd07efd..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/InsertEmptyPage/output.pdf and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/InsertEmptyPageAtEndOfFile/output.pdf b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/InsertEmptyPageAtEndOfFile/output.pdf deleted file mode 100644 index 843c8afc..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/InsertEmptyPageAtEndOfFile/output.pdf and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/UpdatePageDimensions/output.pdf b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/UpdatePageDimensions/output.pdf deleted file mode 100644 index 47227250..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithPages/UpdatePageDimensions/output.pdf and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithText/AddHtml/html.output.pdf b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithText/AddHtml/html.output.pdf deleted file mode 100644 index 15c91bd1..00000000 Binary files a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithText/AddHtml/html.output.pdf and /dev/null differ diff --git a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithText/ExtractTextFromAllPages/extracted_text.out.txt b/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithText/ExtractTextFromAllPages/extracted_text.out.txt deleted file mode 100644 index e5190d90..00000000 --- a/Plugins/Aspose-Pdf-Java-for-Jython/data/WorkingWithText/ExtractTextFromAllPages/extracted_text.out.txt +++ /dev/null @@ -1,2 +0,0 @@ -Evaluation Only. Created with Aspose.Pdf. Copyright 2002-2016 Aspose Pty Ltd. -Sample PDF File 1 – diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/.project b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/.project deleted file mode 100644 index e605988f..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - AsposePdfEclipseFeature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/build.properties b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/build.properties deleted file mode 100644 index 82ab19c6..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/build.properties +++ /dev/null @@ -1 +0,0 @@ -bin.includes = feature.xml diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/feature.xml b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/feature.xml deleted file mode 100644 index b4c703aa..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseFeature/feature.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - Aspose.Pdf Maven Project wizard creates Maven Project for using -Aspose.Pdf for Java API within Eclipse IDE. -Aspose.Pdf for Java is a robust PDF document creation API that -enables your Java applications to read, write and manipulate -PDF documents without using Adobe Acrobat. -Aspose.Pdf for Java offers an incredible wealth of features, -these include: PDF compression options, table creation and manipulation, -graph support, image functions, extensive hyperlink functionality, -extended security controls and custom font handling. -Aspose.Pdf Maven Project wizard fetch and configures the latest -Maven dependency reference of Aspose.Pdf for Java from the Aspose -Cloud Maven Repository. -The wizard also gives you option to download the Code Examples -to use Aspose.Pdf for Java API. -Once you are finished with this wizard - created Maven project -and downloaded Code Examples, next you can insert those Code -Examples to use Aspose.Pdf for Java API in your Project from -File -> New -> Other -> Aspose.Pdf Code Example -The newly created project and the Code Examples you added is -now ready to be enhanced, all required resources and references -are also automatically added. - - - - The MIT License (MIT) -Copyright (c) 2001-2016 Aspose Pty Ltd - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - - diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.classpath b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.classpath deleted file mode 100644 index b1dabee3..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.project b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.project deleted file mode 100644 index f7b41699..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - AsposePdfEclipsePlugin - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.settings/org.eclipse.jdt.core.prefs b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 11f6e462..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/build.properties b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/build.properties deleted file mode 100644 index bad26144..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/build.properties +++ /dev/null @@ -1,7 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - resources/ - diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/Metadata.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/Metadata.java deleted file mode 100644 index 3be4e4af..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/Metadata.java +++ /dev/null @@ -1,362 +0,0 @@ -// -// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 -// See http://java.sun.com/xml/jaxb -// Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2014.09.26 at 03:01:37 PM PKT -// -package com.aspose.pdf.maven.artifacts; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - *

- * Java class for anonymous complex type. - *

- *

- * The following schema fragment specifies the expected content contained within - * this class. - *

- * < - * pre> - * <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> <element - * name="groupId" type="{http://www.w3.org/2001/XMLSchema}string"/> <element - * name="artifactId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="versioning"> <complexType> <complexContent> - * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence> <element name="latest" - * type="{http://www.w3.org/2001/XMLSchema}string"/> <element name="release" - * type="{http://www.w3.org/2001/XMLSchema}string"/> <element - * name="versions"> <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> <element - * name="version" type="{http://www.w3.org/2001/XMLSchema}string" - * maxOccurs="unbounded" minOccurs="0"/> </sequence> </restriction> - * </complexContent> </complexType> </element> <element - * name="lastUpdated" type="{http://www.w3.org/2001/XMLSchema}long"/> - * </sequence> </restriction> </complexContent> </complexType> - * </element> </sequence> </restriction> </complexContent> - * </complexType> - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "", propOrder = { - "groupId", - "artifactId", - "version", - "versioning", - "classifier" -}) -@XmlRootElement(name = "metadata") -public class Metadata { - - /** - * - */ - @XmlElement(required = true) - protected String groupId; - - /** - * - */ - @XmlElement(required = true) - protected String artifactId; - - /** - * - */ - @XmlElement(required = true) - protected String version; - - /** - * - */ - @XmlElement(required = true) - protected Metadata.Versioning versioning; - - /** - * - */ - protected String classifier; - - /** - * Gets the value of the groupId property. - * - * @return possible object is {@link String } - */ - public String getGroupId() { - return groupId; - } - - /** - * Sets the value of the groupId property. - * - * @param value allowed object is {@link String } - */ - public void setGroupId(String value) { - this.groupId = value; - } - - /** - * Gets the value of the artifactId property. - * - * @return possible object is {@link String } - */ - public String getArtifactId() { - return artifactId; - } - - /** - * Sets the value of the artifactId property. - * - * @param value allowed object is {@link String } - */ - public void setArtifactId(String value) { - this.artifactId = value; - } - - /** - * Gets the value of the version property. - * - * @return possible object is {@link String } - */ - public String getVersion() { - return version; - } - - /** - * Sets the value of the version property. - * - * @param value allowed object is {@link String } - */ - public void setVersion(String value) { - this.version = value; - } - - /** - * Gets the value of the versioning property. - * - * @return possible object is {@link Metadata.Versioning } - */ - public Metadata.Versioning getVersioning() { - return versioning; - } - - /** - * Sets the value of the versioning property. - * - * @param value allowed object is {@link Metadata.Versioning } - */ - public void setVersioning(Metadata.Versioning value) { - this.versioning = value; - } - - /** - *

- * Java class for anonymous complex type. - *

- *

- * The following schema fragment specifies the expected content contained - * within this class. - *

- * < - * pre> - * <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> - * <element name="latest" - * type="{http://www.w3.org/2001/XMLSchema}string"/> <element - * name="release" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="versions"> <complexType> <complexContent> - * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence> <element name="version" - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" - * minOccurs="0"/> </sequence> </restriction> </complexContent> - * </complexType> </element> <element name="lastUpdated" - * type="{http://www.w3.org/2001/XMLSchema}long"/> </sequence> - * </restriction> </complexContent> </complexType> - * - */ - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "", propOrder = { - "latest", - "release", - "versions", - "lastUpdated" - }) - public static class Versioning { - - /** - * - */ - @XmlElement(required = true) - protected String latest; - - /** - * - */ - @XmlElement(required = true) - protected String release; - - /** - * - */ - @XmlElement(required = true) - protected Metadata.Versioning.Versions versions; - - /** - * - */ - protected long lastUpdated; - - /** - * Gets the value of the latest property. - * - * @return possible object is {@link String } - */ - public String getLatest() { - return latest; - } - - /** - * Sets the value of the latest property. - * - * @param value allowed object is {@link String } - */ - public void setLatest(String value) { - this.latest = value; - } - - /** - * Gets the value of the release property. - * - * @return possible object is {@link String } - */ - public String getRelease() { - return release; - } - - /** - * Sets the value of the release property. - * - * @param value allowed object is {@link String } - */ - public void setRelease(String value) { - this.release = value; - } - - /** - * Gets the value of the versions property. - * - * @return possible object is {@link Metadata.Versioning.Versions } - */ - public Metadata.Versioning.Versions getVersions() { - return versions; - } - - /** - * Sets the value of the versions property. - * - * @param value allowed object is {@link Metadata.Versioning.Versions } - */ - public void setVersions(Metadata.Versioning.Versions value) { - this.versions = value; - } - - /** - * Gets the value of the lastUpdated property. - * @return - */ - public long getLastUpdated() { - return lastUpdated; - } - - /** - * Sets the value of the lastUpdated property. - * @param value - */ - public void setLastUpdated(long value) { - this.lastUpdated = value; - } - - /** - *

- * Java class for anonymous complex type. - *

- *

- * The following schema fragment specifies the expected content - * contained within this class. - *

- * < - * pre> - * <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> - * <element name="version" - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" - * minOccurs="0"/> </sequence> </restriction> </complexContent> - * </complexType> - * - */ - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "", propOrder = { - "version" - }) - public static class Versions { - - /** - * - */ - protected List version; - - /** - * Gets the value of the version property. - *

- *

- * This accessor method returns a reference to the live list, not a - * snapshot. Therefore any modification you make to the returned - * list will be present inside the JAXB object. This is why there is - * not a set method for the version property. - *

- *

- * For example, to add a new item, do as follows: - *

-             *    getVersion().add(newItem);
-             * 
- *

- *

- *

- * Objects of the following type(s) are allowed in the list - * {@link String } - * @return - */ - public List getVersion() { - if (version == null) { - version = new ArrayList(); - } - return this.version; - } - - } - - } - - /** - * Gets the value of the classifier property. - * - * @return possible object is {@link String } - */ - public String getClassifier() { - return classifier; - } - - /** - * Sets the value of the version property. - * - * @param value allowed object is {@link String } - */ - public void setClassifier(String value) { - this.classifier = value; - } - -} diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/ObjectFactory.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/ObjectFactory.java deleted file mode 100644 index d1dba9c1..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/ObjectFactory.java +++ /dev/null @@ -1,55 +0,0 @@ -// -// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 -// See http://java.sun.com/xml/jaxb -// Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2014.09.26 at 03:01:37 PM PKT -// -package com.aspose.pdf.maven.artifacts; - -import javax.xml.bind.annotation.XmlRegistry; - -/** - * This object contains factory methods for each Java content interface and Java - * element interface generated in the com.aspose.maven.artifacts package. - *

- * An ObjectFactory allows you to programatically construct new instances of the - * Java representation for XML content. The Java representation of XML content - * can consist of schema derived interfaces and classes representing the binding - * of schema type definitions, element declarations and model groups. Factory - * methods for each of these are provided in this class. - */ -@XmlRegistry -public class ObjectFactory { - - /** - * Create a new ObjectFactory that can be used to create new instances of - * schema derived classes for package: com.aspose.maven.apis.artifacts - */ - public ObjectFactory() { - } - - /** - * Create an instance of {@link Metadata.Versioning.Versions } - * @return - */ - public Metadata.Versioning.Versions createMetadataVersioningVersions() { - return new Metadata.Versioning.Versions(); - } - - /** - * Create an instance of {@link Metadata } - * @return - */ - public Metadata createMetadata() { - return new Metadata(); - } - - /** - * Create an instance of {@link Metadata.Versioning } - * @return - */ - public Metadata.Versioning createMetadataVersioning() { - return new Metadata.Versioning(); - } - -} diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/maven-metada.xml b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/maven-metada.xml deleted file mode 100644 index 6c5f9639..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/maven-metada.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - com.aspose - aspose-pdf - 14.5.0 - - 14.8.0 - 14.8.0 - - 14.5.0 - 14.6.0 - 14.7.0 - 14.8.0 - - 20140924084136 - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/maven-metadata.xsd b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/maven-metadata.xsd deleted file mode 100644 index 6e3d358e..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/artifacts/maven-metadata.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeConstants.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeConstants.java deleted file mode 100644 index fa2aa7af..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeConstants.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -/* - * @author Adeel Ilyas - */ -import java.io.File; - -/** - * - * @author Adeel - */ -public class AsposeConstants { - - /** - * - */ - public static final String API_NAME = "Aspose.Pdf"; - - /** - * - */ - public static final String API_MAVEN_DEPENDENCY = "aspose-pdf"; - - /** - * - */ - public static final String API_EXAMPLES_PACKAGE = "com" + File.separator + API_MAVEN_DEPENDENCY.replace("-", File.separator) + File.separator + "examples"; - - /** - * - */ - public static final String GITHUB_EXAMPLES_SOURCE_LOCATION = "Examples" + File.separator + "src" + File.separator + "main" + File.separator + "java" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String GITHUB_EXAMPLES_RESOURCES_LOCATION = "Examples" + File.separator + "src" + File.separator + "main" + File.separator + "resources" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String PROJECT_EXAMPLES_SOURCE_LOCATION = "src" + File.separator + "main" + File.separator + "java" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String PROJECT_EXAMPLES_RESOURCES_LOCATION = "src" + File.separator + "main" + File.separator + "resources" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String EXAMPLES_UTIL = GITHUB_EXAMPLES_SOURCE_LOCATION + File.separator + "Utils.java"; - - /** - * - */ - public static final String API_DEPENDENCY_NOT_FOUND = "Dependency not found!"; - - public static final String API_PROJECT_NOT_FOUND = "No projects found!"; - - /** - * - */ - public static final String MAVEN_POM_XML = "pom.xml"; - - /** - * - */ - public static final String WIZARD_NAME = "Aspose.Pdf Maven Project"; - - /** - * - */ - public static final String ASPOSE_SELECT_EXAMPLE = "Please just select one examples category"; - - /** - * - */ - public static final String INTERNET_CONNNECTIVITY_PING_URL = "java.sun.com"; - - /** - * - */ - public static final String ASPOSE_MAVEN_REPOSITORY = "http://maven.aspose.com"; - - /** - * - */ - public static final String ASPOSE_GROUP_ID = "com.aspose"; - - /** - * - */ - public static final String INTERNET_REQUIRED_MSG = "Internet connectivity is not available!\nInternet connectivity is required to retrieve latest Aspose.Pdf Maven Artifact"; - - /** - * - */ - public static final String EXAMPLES_INTERNET_REQUIRED_MSG = "Internet connectivity is required to download examples"; - - /** - * - */ - public static final String MAVEN_ARTIFACTS_RETRIEVE_FAIL = "Unknown Error!\nCould not retrieve latest Aspose.Pdf Maven Artifact!"; - - /** - * - */ - public static final String EXAMPLES_DOWNLOAD_FAIL = "Unknown Error!\nCould not download Aspose.Pdf for Java API example Source codes!"; - - /** - * - */ - public static final String EXAMPLES_NOT_AVAILABLE_MSG = "This component does not have examples yet, We will add examples soon"; - - /** - * - */ - public static final String EXAMPLES_NOT_AVAILABLE_TITLE = "Examples not available"; - - /** - * - */ - public static boolean printingAllowed = false; - - /** - * - * @param message - */ - public static final void println(String message) { - if (printingAllowed) { - System.out.println(message); - } - } -} diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeJavaAPI.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeJavaAPI.java deleted file mode 100644 index 3e8baff4..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeJavaAPI.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -import javax.swing.*; -import java.io.File; - - -public abstract class AsposeJavaAPI { - - /** - * - * @return - */ - public abstract String get_name(); - - /** - * - * @return - */ - public abstract String get_mavenRepositoryURL(); - - /** - * - * @return - */ - public abstract String get_remoteExamplesRepository(); - - /** - * - * @return - */ - public boolean isExamplesNotAvailable() { - return examplesNotAvailable; - } - - /** - * - */ - public boolean examplesNotAvailable; - - /** - * - * @return - */ - public boolean isExamplesDefinitionAvailable() { - return examplesDefinitionAvailable; - } - - /** - * - */ - public boolean examplesDefinitionAvailable; - - /** - * - */ - public AsposeMavenProjectManager asposeMavenProjectManager; - - /** - * - * @param p - */ - public void checkAndUpdateRepo() { - - if (null == get_remoteExamplesRepository()) { - AsposeMavenProjectManager.showMessage(AsposeConstants.EXAMPLES_NOT_AVAILABLE_TITLE, get_name() + " - " + AsposeConstants.EXAMPLES_NOT_AVAILABLE_MSG, JOptionPane.CLOSED_OPTION, JOptionPane.INFORMATION_MESSAGE); - examplesNotAvailable = true; - examplesDefinitionAvailable = false; - return; - } else { - examplesNotAvailable = false; - } - - if (isExamplesDefinitionsPresent()) { - try { - examplesDefinitionAvailable = true; - syncRepository(); - } catch (Exception e) { - } - } else { - updateRepository(); - if (isExamplesDefinitionsPresent()) { - examplesDefinitionAvailable = true; - - } - } - } - - /** - * - * @param p - * @return - */ - public boolean downloadExamples() { - try { - checkAndUpdateRepo(); - } catch (Exception rex) { - rex.printStackTrace(); - return false; - } - - return true; - - } - - /** - * - * @param p - */ - public void updateRepository() { - AsposeMavenProjectManager.checkAndCreateFolder(getLocalRepositoryPath()); - - try { - GitHelper.updateRepository(getLocalRepositoryPath(), get_remoteExamplesRepository()); - - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * - * @param p - */ - public void syncRepository() { - try { - GitHelper.syncRepository(getLocalRepositoryPath(), get_remoteExamplesRepository()); - - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * - * @return boolean - */ - public boolean isExamplesDefinitionsPresent() { - return new File(getLocalRepositoryPath()).exists(); - } - - /** - * - * @return String - */ - public String getLocalRepositoryPath() { - return asposeMavenProjectManager.getAsposeHomePath() + "GitConsRepos" + File.separator + get_name(); - } -} diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeMavenProjectManager.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeMavenProjectManager.java deleted file mode 100644 index 92ae6a5b..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposeMavenProjectManager.java +++ /dev/null @@ -1,499 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.StringReader; -import java.net.HttpURLConnection; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.List; -import javax.swing.JOptionPane; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; -import javax.xml.xpath.XPath; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathExpression; -import javax.xml.xpath.XPathExpressionException; -import javax.xml.xpath.XPathFactory; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; -import com.aspose.pdf.maven.artifacts.Metadata; -import com.aspose.pdf.maven.artifacts.ObjectFactory; - -public class AsposeMavenProjectManager { - - private File projectDir = null; - - private static final List asposeProjectMavenDependencies = new ArrayList(); - - /** - * - * @return - */ - public static List getAsposeProjectMavenDependencies() { - return asposeProjectMavenDependencies; - } - - /** - * - */ - public static void clearAsposeProjectMavenDependencies() { - asposeProjectMavenDependencies.clear(); - } - - /** - * - * @return - */ - public File getProjectDir() { - return projectDir; - } - - public String getDependencyVersionFromPOM(URI projectDir, String dependencyName) { - try { - String mavenPomXmlfile = projectDir.getPath() + File.separator + AsposeConstants.MAVEN_POM_XML; - - if (new File(mavenPomXmlfile).exists()) { - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//version[ancestor::dependency/artifactId[text()='" + dependencyName + "']]"; - XPathExpression xPathExpr = xpath.compile(expression); - NodeList nl = (NodeList) xPathExpr.evaluate(pomDocument, XPathConstants.NODESET); - - if (nl != null && nl.getLength() > 0) { - return nl.item(0).getTextContent(); - } - } - } catch (Exception ex) { - ex.printStackTrace(); - } - return null; - } - - private Document getXmlDocument(String mavenPomXmlfile) - throws ParserConfigurationException, SAXException, IOException { - DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); - Document pomDocument = (Document) docBuilder.parse(mavenPomXmlfile); - - return pomDocument; - } - - public String getAsposeHomePath() { - return System.getProperty("user.home") + File.separator + "aspose" + File.separator; - } - - /** - * - * @param folderPath - */ - public static void checkAndCreateFolder(String folderPath) { - File folder = new File(folderPath); - if (!folder.exists()) { - folder.mkdirs(); - } - } - - // Singleton instance - private static AsposeMavenProjectManager asposeMavenProjectManager = new AsposeMavenProjectManager(); - - /** - * - * @return - */ - public static AsposeMavenProjectManager getInstance() { - return asposeMavenProjectManager; - } - - /** - * - * @param mavenPomXmlfile - * @param excludeGroup - * @return - */ - public NodeList getDependenciesFromPOM(String mavenPomXmlfile, String excludeGroup) { - try { - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//dependency[child::groupId[text()!='" + excludeGroup + "']]"; - XPathExpression xPathExpr = xpath.compile(expression); - NodeList nl = (NodeList) xPathExpr.evaluate(pomDocument, XPathConstants.NODESET); - if (nl != null && nl.getLength() > 0) { - return nl; - } - } catch (IOException | ParserConfigurationException | SAXException | XPathExpressionException e) { - e.printStackTrace(); - } - return null; - } - - /** - * - * @param addTheseDependencies - */ - public void addMavenDependenciesInProject(NodeList addTheseDependencies) { - - String mavenPomXmlfile = projectDir.getPath() + File.separator + AsposeConstants.MAVEN_POM_XML; - - try { - Document pomDocument = getXmlDocument(mavenPomXmlfile); - Node dependenciesNode = pomDocument.getElementsByTagName("dependencies").item(0); - - if (addTheseDependencies != null && addTheseDependencies.getLength() > 0) { - for (int n = 0; n < addTheseDependencies.getLength(); n++) { - String artifactId = addTheseDependencies.item(n).getFirstChild().getNextSibling().getNextSibling() - .getNextSibling().getFirstChild().getNodeValue(); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//artifactId[text()='" + artifactId + "']"; - - XPathExpression xPathExpr = xpath.compile(expression); - - Node dependencyAlreadyExist = (Node) xPathExpr.evaluate(pomDocument, XPathConstants.NODE); - - if (dependencyAlreadyExist != null) { - Node dependencies = pomDocument.getElementsByTagName("dependencies").item(0); - dependencies.removeChild(dependencyAlreadyExist.getParentNode()); - } - - Node importedNode = pomDocument.importNode(addTheseDependencies.item(n), true); - dependenciesNode.appendChild(importedNode); - } - } - removeEmptyLinesfromDOM(pomDocument); - writeToPOM(pomDocument); - - } catch (ParserConfigurationException | SAXException | XPathExpressionException | IOException ex) { - ex.printStackTrace(); - } - } - - /** - * - * @return - */ - private boolean retrieveAsposeMavenDependencies() { - try { - getAsposeProjectMavenDependencies().clear(); - AsposeJavaAPI component = AsposePdfJavaAPI.getInstance(); - Metadata productMavenDependency = getProductMavenDependency(component.get_mavenRepositoryURL()); - if (productMavenDependency != null) { - getAsposeProjectMavenDependencies().add(productMavenDependency); - } - - } catch (Exception rex) { - rex.printStackTrace(); - return false; - } - return !getAsposeProjectMavenDependencies().isEmpty(); - } - - public void configureProjectMavenPOM(String groupId, String artifactId, String version) throws IOException { - - AsposePdfJavaAPI.initialize(asposeMavenProjectManager); - retrieveAsposeMavenDependencies(); - - try { - String mavenPomXmlfile = projectDir.getPath() + File.separator + AsposeConstants.MAVEN_POM_XML; - Document doc = getXmlDocument(mavenPomXmlfile); - - Element root = doc.getDocumentElement(); - Node node = root.getElementsByTagName("groupId").item(0); - node.setTextContent(groupId); - - node = root.getElementsByTagName("artifactId").item(0); - node.setTextContent(artifactId); - - node = root.getElementsByTagName("version").item(0); - node.setTextContent(version); - - updateProjectPom(doc); - writeToPOM(doc); - - } catch (ParserConfigurationException | SAXException e) { - e.printStackTrace(); - } - - } - - private void updateProjectPom(Document pomDocument) { - - // Get the root element - Node projectNode = pomDocument.getFirstChild(); - - // Adding Dependencies here - Element dependenciesTag = pomDocument.createElement("dependencies"); - projectNode.appendChild(dependenciesTag); - - for (Metadata dependency : getAsposeProjectMavenDependencies()) { - addAsposeMavenDependency(pomDocument, dependenciesTag, dependency); - } - } - - private void addAsposeMavenDependency(Document doc, Element dependenciesTag, Metadata dependency) { - Element dependencyTag = doc.createElement("dependency"); - dependenciesTag.appendChild(dependencyTag); - - Element groupIdTag = doc.createElement("groupId"); - groupIdTag.appendChild(doc.createTextNode(dependency.getGroupId())); - dependencyTag.appendChild(groupIdTag); - - Element artifactId = doc.createElement("artifactId"); - artifactId.appendChild(doc.createTextNode(dependency.getArtifactId())); - dependencyTag.appendChild(artifactId); - Element version = doc.createElement("version"); - version.appendChild(doc.createTextNode(dependency.getVersioning().getLatest())); - dependencyTag.appendChild(version); - if (dependency.getClassifier() != null) { - Element classifer = doc.createElement("classifier"); - classifer.appendChild(doc.createTextNode(dependency.getClassifier())); - dependencyTag.appendChild(classifer); - } - } - - /** - * - * @param Url - * @return - * @throws IOException - */ - public String readURLContents(String Url) throws IOException { - URL url = new URL(Url); - URLConnection con = url.openConnection(); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - byte[] buf = new byte[8192]; - int len = 0; - while ((len = in.read(buf)) != -1) { - baos.write(buf, 0, len); - } - String body = new String(baos.toByteArray(), encoding); - return body; - } - - /** - * - * @param productMavenRepositoryUrl - * @return - */ - public Metadata getProductMavenDependency(String productMavenRepositoryUrl) { - final String mavenMetaDataFileName = "maven-metadata.xml"; - Metadata data = null; - - try { - String productMavenInfo; - productMavenInfo = readURLContents(productMavenRepositoryUrl + mavenMetaDataFileName); - JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class); - Unmarshaller unmarshaller; - unmarshaller = jaxbContext.createUnmarshaller(); - - data = (Metadata) unmarshaller.unmarshal(new StreamSource(new StringReader(productMavenInfo))); - - String remoteArtifactFile = productMavenRepositoryUrl + data.getVersioning().getLatest() + "/" - + data.getArtifactId() + "-" + data.getVersioning().getLatest(); - - if (!remoteFileExists(remoteArtifactFile + ".jar")) { - AsposeConstants.println("Not Exists"); - data.setClassifier(getResolveSupportedJDK(remoteArtifactFile)); - } else { - AsposeConstants.println("Exists"); - } - } catch (IOException | JAXBException ex) { - ex.printStackTrace(); - data = null; - } - return data; - } - - /** - * - * @param URLName - * @return - */ - public boolean remoteFileExists(String URLName) { - try { - HttpURLConnection.setFollowRedirects(false); - // note : you may also need - // HttpURLConnection.setInstanceFollowRedirects(false) - HttpURLConnection con = (HttpURLConnection) new URL(URLName).openConnection(); - con.setRequestMethod("HEAD"); - return (con.getResponseCode() == HttpURLConnection.HTTP_OK); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - /** - * - * @param ProductURL - * @return - */ - public String getResolveSupportedJDK(String ProductURL) { - String supportedJDKs[] = { "jdk17", "jdk16", "jdk15", "jdk14", "jdk18" }; - String classifier = null; - for (String jdkCheck : supportedJDKs) { - if (remoteFileExists(ProductURL + "-" + jdkCheck + ".jar")) { - AsposeConstants.println("Exists"); - classifier = jdkCheck; - break; - } else { - AsposeConstants.println("Not Exists"); - } - } - return classifier; - } - - /** - * - * @param mavenPomXmlfile - * @param excludeURL - * @return - */ - public NodeList getRepositoriesFromPOM(String mavenPomXmlfile, String excludeURL) { - try { - Document pomDocument = getXmlDocument(mavenPomXmlfile); - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//repository[child::url[not(starts-with(.,'" + excludeURL + "'))]]"; - XPathExpression xPathExpr = xpath.compile(expression); - NodeList nl = (NodeList) xPathExpr.evaluate(pomDocument, XPathConstants.NODESET); - if (nl != null && nl.getLength() > 0) { - return nl; - } - } catch (IOException | ParserConfigurationException | SAXException | XPathExpressionException e) { - e.printStackTrace(); - } - return null; - } - - /** - * - * @param addTheseRepositories - */ - public void addMavenRepositoriesInProject(NodeList addTheseRepositories) { - String mavenPomXmlfile = projectDir.getPath() + File.separator + AsposeConstants.MAVEN_POM_XML; - try { - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - Node repositoriesNode = pomDocument.getElementsByTagName("repositories").item(0); - - if (addTheseRepositories != null && addTheseRepositories.getLength() > 0) { - for (int n = 0; n < addTheseRepositories.getLength(); n++) { - String repositoryId = addTheseRepositories.item(n).getFirstChild().getNextSibling().getFirstChild() - .getNodeValue(); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//id[text()='" + repositoryId + "']"; - - XPathExpression xPathExpr = xpath.compile(expression); - - Boolean repositoryAlreadyExist = (Boolean) xPathExpr.evaluate(pomDocument, XPathConstants.BOOLEAN); - - if (!repositoryAlreadyExist) { - Node importedNode = pomDocument.importNode(addTheseRepositories.item(n), true); - repositoriesNode.appendChild(importedNode); - } - - } - } - removeEmptyLinesfromDOM(pomDocument); - writeToPOM(pomDocument); - - } catch (XPathExpressionException | SAXException | ParserConfigurationException | IOException ex) { - ex.printStackTrace(); - } - } - - /** - * - * @param pomDocument - * @throws IOException - */ - public void writeToPOM(Document pomDocument) throws IOException { - try { - TransformerFactory tFactory = TransformerFactory.newInstance(); - Transformer transformer = tFactory.newTransformer(); - DOMSource source = new DOMSource(pomDocument); - - StreamResult result = new StreamResult( - new File(projectDir + File.separator + AsposeConstants.MAVEN_POM_XML)); - transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); - transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); - - transformer.transform(source, result); - } catch (TransformerException e) { - e.printStackTrace(); - } - } - - private void removeEmptyLinesfromDOM(Document doc) throws XPathExpressionException { - XPath xp = XPathFactory.newInstance().newXPath(); - NodeList nl = (NodeList) xp.evaluate("//text()[normalize-space(.)='']", doc, XPathConstants.NODESET); - - for (int i = 0; i < nl.getLength(); ++i) { - Node node = nl.item(i); - node.getParentNode().removeChild(node); - } - } - - /** - * - * @param title - * @param message - * @param buttons - * @param icon - * @return - */ - public static int showMessage(String title, String message, int buttons, int icon) { - int result = JOptionPane.showConfirmDialog(null, message, title, buttons, icon); - return result; - } - - public static AsposeMavenProjectManager initialize(File prjDir) { - asposeMavenProjectManager = new AsposeMavenProjectManager(); - asposeMavenProjectManager.projectDir = prjDir; - return asposeMavenProjectManager; - } - -} \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposePdfJavaAPI.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposePdfJavaAPI.java deleted file mode 100644 index 9def4249..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/AsposePdfJavaAPI.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -/* - * @author Adeel Ilyas - * - */ -// Singleton Class - -/** - * - * @author Adeel - */ -public class AsposePdfJavaAPI extends AsposeJavaAPI { - - private final String _name = AsposeConstants.API_NAME; - private final String _mavenRepositoryURL = "http://maven.aspose.com/repository/ext-release-local/com/aspose/aspose-pdf/"; - private final String _remoteExamplesRepository = "https://github.com/asposepdf/Aspose_Pdf_Java"; - - /** - * @return the _name - */ - @Override - public String get_name() { - return _name; - } - - /** - * @return the _mavenRepositoryURL - */ - @Override - public String get_mavenRepositoryURL() { - return _mavenRepositoryURL; - } - - /** - * @return the _remoteExamplesRepository - */ - @Override - public String get_remoteExamplesRepository() { - return _remoteExamplesRepository; - } - - // Singleton instance - private static AsposeJavaAPI asposePdfAPI; - - /** - * - * @return - */ - public static AsposeJavaAPI getInstance() { - return asposePdfAPI; - } - - /** - * - * @param asposeMavenProjectManager - * @return - */ - public static AsposeJavaAPI initialize(AsposeMavenProjectManager asposeMavenProjectManager) { - asposePdfAPI = new AsposePdfJavaAPI(); - asposePdfAPI.asposeMavenProjectManager = asposeMavenProjectManager; - return asposePdfAPI; - } - - private AsposePdfJavaAPI() { - } -} diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/FormatExamples.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/FormatExamples.java deleted file mode 100644 index 8efcb5c0..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/FormatExamples.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -import org.apache.commons.lang.WordUtils; - -public class FormatExamples { - - /** - * - * @param inputStr - * @return - */ - public static String formatTitle(String inputStr) { - String title = inputStr.replaceAll("(_|.java|\\.)", " "); - title = title.replaceAll("([A-Z])", " $1"); - title = WordUtils.capitalize(title); - - return title; - } -} diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/GitHelper.java b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/GitHelper.java deleted file mode 100644 index 0d96c7f2..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipsePlugin/src/com/aspose/pdf/maven/utils/GitHelper.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package com.aspose.pdf.maven.utils; - -import org.eclipse.jgit.api.Git; -import org.eclipse.jgit.internal.storage.file.FileRepository; -import org.eclipse.jgit.lib.Repository; - -import java.io.File; - -/** - * @author Adeel Ilyas - * - */ -public class GitHelper { - - /** - * - * @param localPath - * @param remotePath - * @throws Exception - */ - public static void updateRepository(String localPath, String remotePath) throws Exception { - Repository localRepo; - try { - localRepo = new FileRepository(localPath + "/.git"); - - Git git = new Git(localRepo); - - // First try to clone the repository - try { - Git.cloneRepository().setURI(remotePath).setDirectory(new File(localPath)).call(); - } catch (Exception ex) { - // If clone fails, try to pull the changes - try { - git.pull().call(); - } catch (Exception exPull) { - // Pull also failed. Throw this exception to caller - throw exPull; // throw it - } - } finally { - git.close(); - } - } catch (Exception ex) { - throw new Exception("Could not download Repository from Github. Error: " + ex.getMessage()); - } - } - - /** - * - * @param localPath - * @param remotePath - * @throws Exception - */ - public static void syncRepository(String localPath, String remotePath) throws Exception { - Repository localRepo; - try { - localRepo = new FileRepository(localPath + "/.git"); - - Git git = new Git(localRepo); - - // Pull the changes - try { - git.pull().call(); - } catch (Exception exPull) { - // If pull failed. Throw this exception to caller - - throw exPull; // throw it - } finally { - git.close(); - } - - } catch (Exception ex) { - throw new Exception("Could not update Repository from Github. Error: " + ex.getMessage()); - } - } - -} diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseSite/.project b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseSite/.project deleted file mode 100644 index 6fa6f0e1..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseSite/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - AsposePdfEclipseSite - - - - - - org.eclipse.pde.UpdateSiteBuilder - - - - - - org.eclipse.pde.UpdateSiteNature - - diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseSite/site.xml b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseSite/site.xml deleted file mode 100644 index d1a80d35..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/AsposePdfEclipseSite/site.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Aspose.Pdf Maven Project wizard creates Maven Project for using Aspose.Pdf for Java API within Eclipse IDE. -Aspose.Pdf for Java is a robust PDF document creation API that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. -Aspose.Pdf for Java offers an incredible wealth of features, these include: PDF compression options, table creation and manipulation, graph support, image functions, extensive hyperlink functionality, extended security controls and custom font handling. -Aspose.Pdf Maven Project wizard fetch and configures the latest Maven dependency reference of Aspose.Pdf for Java from the Aspose Cloud Maven Repository. -The wizard also gives you option to download the Code Examples to use Aspose.Pdf for Java API. - - - - - - diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/LICENSE b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/LICENSE deleted file mode 100644 index f83cc4c8..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2001-2016 Aspose Pty Ltd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/README.md b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/README.md deleted file mode 100644 index 9be4d35a..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/README.md +++ /dev/null @@ -1,43 +0,0 @@ -## Aspose.PDF Java (Maven) for Eclipse - -This project is **Eclipse IDE plugin** which lets developers use [Aspose.PDF for Java](http://goo.gl/bfok4I) in their Maven based Java projects. - -## Who is supposed to use this **Plugin?** - -This Plugin is intended for developers using Maven platform for Java developments and want to use [Aspose.PDF for Java](http://goo.gl/bfok4I) in their projects. - -**NOTE:** [Aspose.PDF for Java](http://goo.gl/bfok4I) is Java API developed by [Aspose](http://aspose.com) that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. For the API detailed features list check the [link](http://goo.gl/bfok4I). - -## **Features** - -The plugin provides following features to work with [Aspose.PDF for Java](http://goo.gl/bfok4I) API within **Eclipse IDE** comfortably: - -### Aspose.PDF Maven Project (wizard) -![plugin title shot](http://i.imgur.com/t6qX4Ty.png) -* By using this wizard plugin creates Maven project for using [Aspose.PDF for Java](http://goo.gl/bfok4I) from **New -> Project -> Maven-> Aspose.PDF Maven Project** -* The wizard will also give option for downloading latest available Code Examples for using the API. - -### Aspose.PDF Code Example (wizard) -![plugin title shot](http://i.imgur.com/ZovIAj3.png) -* By using this wizard plugin lets you copy the downloaded Code Examples into your project for using [Aspose.PDF for Java](http://goo.gl/bfok4I) from **New -> Other -> Java -> Aspose.PDF Code Example** -* The wizard will also look for and updates for newly available Code Examples from [Aspose.PDF for Java examples repository.](https://goo.gl/5soAbm) - **NOTE:** Selected Code Examples (category) source codes will be copied under **"com.aspose.pdf.examples"** package. Resources needed for running examples will be copied to the corresponding directory (package) within **"src/main/resources"**. - -### Other Features - -* Supports latest **Eclipse Mars.1 (4.5.1)** version -* Compatible with **Mac**, **Linux Flavors** and **Windows** -* Native IDE user experience -* Open Source - -## What is Aspose.PDF Java API? - -**Aspose.PDF for Java** is a robust PDF document creation API that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. - -**Aspose.PDF for Java** offers an incredible wealth of features, these include: PDF compression options, table creation and manipulation, graph support, image functions, extensive hyperlink functionality, extended security controls and custom font handling. - -For more info about the **Aspose.PDF for Java API**, [please check the api documentation - click here](http://goo.gl/bfok4I) - -## Plugin Documentation - -For the most complete documentation, [Please check this WIKI](https://docs.aspose.com/display/pdfjava/Aspose.Pdf+Java+%28Maven%29+for+Eclipse) diff --git a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/Release Notes.html b/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/Release Notes.html deleted file mode 100644 index b5c14fd5..00000000 --- a/Plugins/Aspose_Pdf_Java_Maven_for_Eclipse/Release Notes.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -Aspose.Pdf Java (Maven) for Eclipse - Release Notes - - - - -Aspose.Pdf Java (Maven) for Eclipse - v1.0 -

This is new Plugin for Eclipse IDE by Aspose. The Plugin intended for developers using Maven platform for Java developments and want to use Aspose.Pdf for Java in their projects.

-

NOTE: Aspose.Pdf for Java is Java API developed by Aspose that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. For the API detailed features list check the link. -

The plugin provides following features to work with Aspose.Pdf for Java API within Eclipse IDE comfortably: -

  • Aspose.Pdf Maven Project
    • By using this wizard plugin creates Maven project for using Aspose.Pdf for Java from New -> Project -> Maven-> Aspose.Pdf Maven Project
    • The wizard will also give option for downloading latest available Code Examples for using the API.
  • -
  • Aspose.Pdf Code Example
  • -
  • Other Features
    • Supports latest Eclipse Mars.1 (4.5.1) version
    • Compatible with Mac, Linux Flavors and Windows
    • Native IDE user experience
    • Open Source
- - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/.name b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/.name deleted file mode 100644 index 529222f6..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -Aspose.Pdf Java for IntelliJ Maven \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/compiler.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/compiler.xml deleted file mode 100644 index 217af471..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/compiler.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/copyright/Aspose_Pty_Ltd.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/copyright/Aspose_Pty_Ltd.xml deleted file mode 100644 index 98df6f8a..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/copyright/Aspose_Pty_Ltd.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/copyright/profiles_settings.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/copyright/profiles_settings.xml deleted file mode 100644 index a776300d..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/dictionaries/Adeel_Ilyas.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/dictionaries/Adeel_Ilyas.xml deleted file mode 100644 index ef47d47b..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/dictionaries/Adeel_Ilyas.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/encodings.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/encodings.xml deleted file mode 100644 index e206d70d..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/encodings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/misc.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/misc.xml deleted file mode 100644 index 3800cb69..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/misc.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/modules.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/modules.xml deleted file mode 100644 index 24afd80a..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/scopes/scope_settings.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/scopes/scope_settings.xml deleted file mode 100644 index 922003b8..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/scopes/scope_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/uiDesigner.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/uiDesigner.xml deleted file mode 100644 index 2eb9c987..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/uiDesigner.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/vcs.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/vcs.xml deleted file mode 100644 index def6a6a1..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/vcs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/workspace.xml b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/workspace.xml deleted file mode 100644 index 7dc5df41..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/.idea/workspace.xml +++ /dev/null @@ -1,1223 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Android Lint - - - General - - - Maven - - - Plugin DevKit - - - XPath - - - - - Abstraction issues - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - localhost - 5050 - - - - - - - - - - 1395416125898 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aspose Pty Ltd - - - - - - - - Detection - - - - - - - - - - - - - - - 1.8 - - - - - - - - Aspose.Pdf Java for IntelliJ (Maven) - - - - - - - - - - - - - - - org.eclipse.jgit-3.4.1.201406201815-r - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/LICENSE b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/LICENSE deleted file mode 100644 index 80020264..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2001-2015 Aspose Pty Ltd. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/README.md b/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/README.md deleted file mode 100644 index 6960205b..00000000 --- a/Plugins/Aspose_Pdf_Java_for_IntelliJ(Maven)/README.md +++ /dev/null @@ -1,41 +0,0 @@ -## Aspose.PDF Java for IntelliJ IDEA (Maven) - -The project is **Intellij IDEA (JetBrains IDE) plugin** that lets you work the robust PDF document creation API -**Aspose.PDF for Java** that enables your to read, write and manipulate PDF documents from Java code. - -The plugins is for those who wants to utilize / use **Aspose.PDF for Java API**. A robust PDF document creation API, written in Java, which allows developers to quickly and easily read, write and manipulate PDF documents without using Adobe Acrobat from their Java applications. - -The plugin contains two wizards: - -1. **Aspose-Pdf Maven Project** Wizard - To create **Aspose.PDF for Java API** Maven project -2. **Aspose.PDF Examples** - To create / download **Aspose.PDF for Java API** Examples Source Codes (Which is meant to demonstrate the usages of the API) - -**Wizards Detail:** - -1. **Aspose.PDF Maven Project** wizard, after installing the plugin, can be run from **File->New Project->Aspose.PDF Maven Project** option. You will have to follow the wizard steps asking for the project information i.e **Project Name, Artifact ID** for your maven project or whether you want to download the Examples Source Codes (for later addition into the project). -2. **Aspose.PDF Examples** wizard lets you create /copy downloaded Source Code Examples into your project. All the examples withn the selected category will be copied/ created inside "**com.aspose.pdf.examples**" package and also the corresponding directory structure for the package will be created within "src/main/resources" folder which is needed to run the examples. - -## What is Aspose.PDF Java API? - -**Aspose.PDF for Java** is a robust PDF document creation API that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. - -**Aspose.PDF for Java** offers an incredible wealth of features, these include: PDF compression options, table creation and manipulation, graph support, image functions, extensive hyperlink functionality, extended security controls and custom font handling. - -For more info about the **Aspose.PDF for Java API**, [please check the api documentation - click here](http://goo.gl/bfok4I) - -## Plugin Documentation - -For the complete documentation of this Intellij IDEA plugin, [please go through this wiki - click here](http://goo.gl/cae4NH) - -## Download Latest Versions? - - -* [Latest Releases on Codeplex](https://asposepdfjavaintellij.codeplex.com/releases) - - -## Clone Plugin SourceCodes? - - -This project is also hosted and maintained at CodePlex. To clone navigate to: - - -* [Aspose.PDF Java for IntelliJ Maven on CodePlex - click here](https://asposepdfjavaintellij.codeplex.com/SourceControl/latest) diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/LICENSE b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/LICENSE deleted file mode 100644 index 5d8a0415..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2001-2016 Aspose Pty Ltd - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/README.md b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/README.md deleted file mode 100644 index dd7f8f8b..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/README.md +++ /dev/null @@ -1,44 +0,0 @@ -## Aspose.PDF Java for NetBeans (Maven) - -The project is **NetBeans IDE plugin** which lets developers to use [Aspose.PDF for Java](http://goo.gl/bfok4I) in their Maven based Java projects. - -## Who is supposed to use this **Plugin?** - -The Plugin intended for developers using Maven platform for Java developments and want to use [Aspose.PDF for Java](http://goo.gl/bfok4I) in their projects. - -**NOTE:** [Aspose.PDF for Java](http://goo.gl/bfok4I) is Java API developed by [Aspose](http://aspose.com) that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. For the API detailed features list check the [link](http://goo.gl/bfok4I). - -## **Features** - -The plugin provides following features to work with [Aspose.PDF for Java](http://goo.gl/bfok4I) API within **NetBeans IDE** comfortably: - -### Aspose.PDF Maven Project (wizard) -![plugin title shot](http://i.imgur.com/ff8nceJ.png) - -* By using this wizard plugin creates Maven project for using [Aspose.PDF for Java](http://goo.gl/bfok4I) from **New Project -> Maven-> Aspose.PDF Maven Project** -* The wizard will also give option for downloading latest available Code Examples for using the API. - -### Aspose.PDF Code Example (wizard) -![plugin title shot](http://i.imgur.com/QX9SWbm.png) -* By using this wizard plugin lets you copy the downloaded Code Examples into your project for using [Aspose.PDF for Java](http://goo.gl/bfok4I) from **New File -> Java -> Aspose.PDF Code Example** -* The wizard will also look for and updates for newly available Code Examples from [Aspose.PDF for Java examples repository.](https://goo.gl/5soAbm) - **NOTE:** Selected Code Examples (category) source codes will be copied under **"com.aspose.pdf.examples"** package. Resources needed for running examples will be copied to the corresponding directory (package) within **"src/main/resources"**. - -### Other Features - -* Supports latest **NetBeans 8.1** version -* Compatible with **Mac**, **Linux Flavors** and **Windows** -* Native IDE user experience -* Open Source - -## What is Aspose.PDF Java API? - -**Aspose.PDF for Java** is a robust PDF document creation API that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. - -**Aspose.PDF for Java** offers an incredible wealth of features, these include: PDF compression options, table creation and manipulation, graph support, image functions, extensive hyperlink functionality, extended security controls and custom font handling. - -For more info about the **Aspose.PDF for Java API**, [please check the api documentation - click here](http://goo.gl/bfok4I) - -## Plugin Documentation - -For the most complete documentation, [Please check this WIKI]https://docs.aspose.com/display/pdfjava/Aspose.Pdf+Java+for+NetBeans+-+Maven) diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/Release Notes.html b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/Release Notes.html deleted file mode 100644 index 957c3491..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/Release Notes.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -Aspose.Pdf Java for NetBeans (Maven) - Release Notes - - - - -Aspose.Pdf Java for NetBeans (Maven) - v1.0.0 -

This is new Plugin for NetBeans IDE by Aspose. The Plugin intended for developers using Maven platform for Java developments and want to use Aspose.Pdf for Java in their projects.

-

NOTE: Aspose.Pdf for Java is Java API developed by Aspose that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. For the API detailed features list check the link. -

The plugin provides following features to work with Aspose.Pdf for Java API within NetBeans IDE comfortably: -

  • Aspose.Pdf Maven Project
    • By using this wizard plugin creates Maven project for using Aspose.Pdf for Java from New Project -> Maven-> Aspose.Pdf Maven Project
    • The wizard will also give option for downloading latest available Code Examples for using the API.
  • -
  • Aspose.Pdf Code Example
  • -
  • Other Features
    • Supports latest NetBeans 8.1 version
    • Compatible with Mac, Linux Flavors and Windows
    • Native IDE user experience
    • Open Source
- - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/Bundle.properties b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/Bundle.properties deleted file mode 100644 index d0fe7f01..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/Bundle.properties +++ /dev/null @@ -1,42 +0,0 @@ -OpenIDE-Module-Name=Aspose.Pdf Java for NetBeans (Maven) -LBL_CreateProjectStep=Name and Location -OpenIDE-Module-Display-Category=Base IDE -OpenIDE-Module-Long-Description=\ - Aspose.Pdf Maven Project wizard creates Maven Project for using Aspose.Pdf for Java API within NetBeans IDE.\ -

Aspose.Pdf for Java is an advanced class library for Java that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat.\ -

Aspose.Pdf for Java offers an incredible wealth of features, these include: PDF compression options, table creation and manipulation, graph support, image functions, extensive hyperlink functionality, extended security controls and custom font handling.\ -

Aspose.Pdf Maven Project wizard fetch and configures the latest Maven dependency reference of Aspose.Pdf for Java from the Aspose Cloud Maven Repository.\ -

The wizard also gives you option to download the Code Examples to use Aspose.Pdf for Java API.\ -

Once you are finished with this wizard - created Maven project and downloaded Code Examples. \ - Next you can insert those Code Examples to use Aspose.Pdf for Java API in your Project from New File -> Java -> Aspose.Pdf Code Example

The newly created project and the Code Examples you added is now ready to be enhanced, all required resources and references are also automatically added.\ -

-OpenIDE-Module-Name=Aspose.Pdf Java for NetBeans (Maven) -AsposeMavenPanel.createdFolderLabel.text=Project &Folder: -OpenIDE-Module-Short-Description=This plugins helps you to create Aspose.Pdf Maven based project and tryout samples provided by Aspose. -AsposeMavenPanel.jLabelCommonUses.toolTipText= -AsposeMavenBasicPanelVisual.projectLocationLabel.text=Project &Location: -AsposeMavenBasicPanelVisual.browseButton.actionCommand=BROWSE -AsposeMavenBasicPanelVisual.browseButton.text=Br&owse... -AsposeMavenBasicPanelVisual.createdFolderLabel.text=Project &Folder: -AsposeMavenBasicPanelVisual.projectNameLabel.text=Project &Name: -AsposeMavenBasicPanelVisual.lblArtifactId.text=Artifact Id: -AsposeMavenBasicPanelVisual.lblGroupId.text=Group Id: -AsposeMavenBasicPanelVisual.lblVersion.text=Version: -AsposeMavenBasicPanelVisual.txtVersion.text= -AsposeMavenBasicPanelVisual.txtGroupId.AccessibleContext.accessibleName= -AsposeMavenBasicPanelVisual.txtVersion.AccessibleContext.accessibleName= -AsposeMavenBasicPanelVisual.lblPackage.text=Package: -AsposeMavenBasicPanelVisual.txtPackage.AccessibleContext.accessibleName= -AsposeMavenBasicPanelVisual.lblPackage1.text=(Optional) -AsposeMavenBasicPanelVisual.lblArtifactId.toolTipText= -AsposeManager.progressMessage=Retrieving Aspose.Pdf for java - Maven Dependency... -AsposeManager.projectMessage=Creating Aspose.Pdf maven project... -AsposeManager.progressTitle=Retrieving Latest Maven artifact... -AsposeManager.progressExamplesTitle=Downloading Code Examples... -AsposeManager.downloadExamplesMessage=Downloading Aspose.Pdf for java - Example Source Codes... -AsposeMavenBasicPanelVisual.toolTipText=Aspose.Pdf for Java API - Helps to create and manipulate Microsoft pdf documents. -AsposeMavenBasicPanelVisual.text= -AsposeMavenBasicPanelVisual.jCheckBox1.label=Also Download Code Examples (for using Aspose.Pdf for Java) -AsposeMavenBasicPanelVisual.jLabel2.text=Please enter project detail: -AsposeMavenBasicPanelVisual.jLabel3.text=Please enter maven artifact detail: -AsposeMavenBasicPanelVisual.jLabel3.toolTipText= diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/Metadata.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/Metadata.java deleted file mode 100644 index 3be4e4af..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/Metadata.java +++ /dev/null @@ -1,362 +0,0 @@ -// -// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 -// See http://java.sun.com/xml/jaxb -// Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2014.09.26 at 03:01:37 PM PKT -// -package com.aspose.pdf.maven.artifacts; - -import javax.xml.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; - -/** - *

- * Java class for anonymous complex type. - *

- *

- * The following schema fragment specifies the expected content contained within - * this class. - *

- * < - * pre> - * <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> <element - * name="groupId" type="{http://www.w3.org/2001/XMLSchema}string"/> <element - * name="artifactId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="versioning"> <complexType> <complexContent> - * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence> <element name="latest" - * type="{http://www.w3.org/2001/XMLSchema}string"/> <element name="release" - * type="{http://www.w3.org/2001/XMLSchema}string"/> <element - * name="versions"> <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> <element - * name="version" type="{http://www.w3.org/2001/XMLSchema}string" - * maxOccurs="unbounded" minOccurs="0"/> </sequence> </restriction> - * </complexContent> </complexType> </element> <element - * name="lastUpdated" type="{http://www.w3.org/2001/XMLSchema}long"/> - * </sequence> </restriction> </complexContent> </complexType> - * </element> </sequence> </restriction> </complexContent> - * </complexType> - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "", propOrder = { - "groupId", - "artifactId", - "version", - "versioning", - "classifier" -}) -@XmlRootElement(name = "metadata") -public class Metadata { - - /** - * - */ - @XmlElement(required = true) - protected String groupId; - - /** - * - */ - @XmlElement(required = true) - protected String artifactId; - - /** - * - */ - @XmlElement(required = true) - protected String version; - - /** - * - */ - @XmlElement(required = true) - protected Metadata.Versioning versioning; - - /** - * - */ - protected String classifier; - - /** - * Gets the value of the groupId property. - * - * @return possible object is {@link String } - */ - public String getGroupId() { - return groupId; - } - - /** - * Sets the value of the groupId property. - * - * @param value allowed object is {@link String } - */ - public void setGroupId(String value) { - this.groupId = value; - } - - /** - * Gets the value of the artifactId property. - * - * @return possible object is {@link String } - */ - public String getArtifactId() { - return artifactId; - } - - /** - * Sets the value of the artifactId property. - * - * @param value allowed object is {@link String } - */ - public void setArtifactId(String value) { - this.artifactId = value; - } - - /** - * Gets the value of the version property. - * - * @return possible object is {@link String } - */ - public String getVersion() { - return version; - } - - /** - * Sets the value of the version property. - * - * @param value allowed object is {@link String } - */ - public void setVersion(String value) { - this.version = value; - } - - /** - * Gets the value of the versioning property. - * - * @return possible object is {@link Metadata.Versioning } - */ - public Metadata.Versioning getVersioning() { - return versioning; - } - - /** - * Sets the value of the versioning property. - * - * @param value allowed object is {@link Metadata.Versioning } - */ - public void setVersioning(Metadata.Versioning value) { - this.versioning = value; - } - - /** - *

- * Java class for anonymous complex type. - *

- *

- * The following schema fragment specifies the expected content contained - * within this class. - *

- * < - * pre> - * <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> - * <element name="latest" - * type="{http://www.w3.org/2001/XMLSchema}string"/> <element - * name="release" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="versions"> <complexType> <complexContent> - * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence> <element name="version" - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" - * minOccurs="0"/> </sequence> </restriction> </complexContent> - * </complexType> </element> <element name="lastUpdated" - * type="{http://www.w3.org/2001/XMLSchema}long"/> </sequence> - * </restriction> </complexContent> </complexType> - * - */ - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "", propOrder = { - "latest", - "release", - "versions", - "lastUpdated" - }) - public static class Versioning { - - /** - * - */ - @XmlElement(required = true) - protected String latest; - - /** - * - */ - @XmlElement(required = true) - protected String release; - - /** - * - */ - @XmlElement(required = true) - protected Metadata.Versioning.Versions versions; - - /** - * - */ - protected long lastUpdated; - - /** - * Gets the value of the latest property. - * - * @return possible object is {@link String } - */ - public String getLatest() { - return latest; - } - - /** - * Sets the value of the latest property. - * - * @param value allowed object is {@link String } - */ - public void setLatest(String value) { - this.latest = value; - } - - /** - * Gets the value of the release property. - * - * @return possible object is {@link String } - */ - public String getRelease() { - return release; - } - - /** - * Sets the value of the release property. - * - * @param value allowed object is {@link String } - */ - public void setRelease(String value) { - this.release = value; - } - - /** - * Gets the value of the versions property. - * - * @return possible object is {@link Metadata.Versioning.Versions } - */ - public Metadata.Versioning.Versions getVersions() { - return versions; - } - - /** - * Sets the value of the versions property. - * - * @param value allowed object is {@link Metadata.Versioning.Versions } - */ - public void setVersions(Metadata.Versioning.Versions value) { - this.versions = value; - } - - /** - * Gets the value of the lastUpdated property. - * @return - */ - public long getLastUpdated() { - return lastUpdated; - } - - /** - * Sets the value of the lastUpdated property. - * @param value - */ - public void setLastUpdated(long value) { - this.lastUpdated = value; - } - - /** - *

- * Java class for anonymous complex type. - *

- *

- * The following schema fragment specifies the expected content - * contained within this class. - *

- * < - * pre> - * <complexType> <complexContent> <restriction - * base="{http://www.w3.org/2001/XMLSchema}anyType"> <sequence> - * <element name="version" - * type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" - * minOccurs="0"/> </sequence> </restriction> </complexContent> - * </complexType> - * - */ - @XmlAccessorType(XmlAccessType.FIELD) - @XmlType(name = "", propOrder = { - "version" - }) - public static class Versions { - - /** - * - */ - protected List version; - - /** - * Gets the value of the version property. - *

- *

- * This accessor method returns a reference to the live list, not a - * snapshot. Therefore any modification you make to the returned - * list will be present inside the JAXB object. This is why there is - * not a set method for the version property. - *

- *

- * For example, to add a new item, do as follows: - *

-             *    getVersion().add(newItem);
-             * 
- *

- *

- *

- * Objects of the following type(s) are allowed in the list - * {@link String } - * @return - */ - public List getVersion() { - if (version == null) { - version = new ArrayList(); - } - return this.version; - } - - } - - } - - /** - * Gets the value of the classifier property. - * - * @return possible object is {@link String } - */ - public String getClassifier() { - return classifier; - } - - /** - * Sets the value of the version property. - * - * @param value allowed object is {@link String } - */ - public void setClassifier(String value) { - this.classifier = value; - } - -} diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/ObjectFactory.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/ObjectFactory.java deleted file mode 100644 index d1dba9c1..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/ObjectFactory.java +++ /dev/null @@ -1,55 +0,0 @@ -// -// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 -// See http://java.sun.com/xml/jaxb -// Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2014.09.26 at 03:01:37 PM PKT -// -package com.aspose.pdf.maven.artifacts; - -import javax.xml.bind.annotation.XmlRegistry; - -/** - * This object contains factory methods for each Java content interface and Java - * element interface generated in the com.aspose.maven.artifacts package. - *

- * An ObjectFactory allows you to programatically construct new instances of the - * Java representation for XML content. The Java representation of XML content - * can consist of schema derived interfaces and classes representing the binding - * of schema type definitions, element declarations and model groups. Factory - * methods for each of these are provided in this class. - */ -@XmlRegistry -public class ObjectFactory { - - /** - * Create a new ObjectFactory that can be used to create new instances of - * schema derived classes for package: com.aspose.maven.apis.artifacts - */ - public ObjectFactory() { - } - - /** - * Create an instance of {@link Metadata.Versioning.Versions } - * @return - */ - public Metadata.Versioning.Versions createMetadataVersioningVersions() { - return new Metadata.Versioning.Versions(); - } - - /** - * Create an instance of {@link Metadata } - * @return - */ - public Metadata createMetadata() { - return new Metadata(); - } - - /** - * Create an instance of {@link Metadata.Versioning } - * @return - */ - public Metadata.Versioning createMetadataVersioning() { - return new Metadata.Versioning(); - } - -} diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/maven-metada.xml b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/maven-metada.xml deleted file mode 100644 index 6c5f9639..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/maven-metada.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - com.aspose - aspose-pdf - 14.5.0 - - 14.8.0 - 14.8.0 - - 14.5.0 - 14.6.0 - 14.7.0 - 14.8.0 - - 20140924084136 - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/maven-metadata.xsd b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/maven-metadata.xsd deleted file mode 100644 index 6e3d358e..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/artifacts/maven-metadata.xsd +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/examples/Bundle.properties b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/examples/Bundle.properties deleted file mode 100644 index 0ed2dc11..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/examples/Bundle.properties +++ /dev/null @@ -1,8 +0,0 @@ -# To change this license header, choose License Headers in Project Properties. -# To change this template file, choose Tools | Templates -# and open the template in the editor. - -AsposeExample.jLabel1_text=Aspose.Pdf for Java (version): -AsposeManager.populateExamplesMessage=Populating Aspose.Pdf for Java API examples... -AsposeManager.updateExamplesMessage=Updating Aspose.Pdf for Java API examples... -AsposeManager.populateExamplesTitle=Populating Example code list... \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeConstants.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeConstants.java deleted file mode 100644 index e585abd6..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeConstants.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -/* - * @author Adeel Ilyas - */ -import java.io.File; - -/** - * - * @author Adeel - */ -public class AsposeConstants { - - /** - * - */ - public static final String API_NAME = "Aspose.Pdf"; - - /** - * - */ - public static final String API_MAVEN_DEPENDENCY = "aspose-pdf"; - - /** - * - */ - public static final String API_EXAMPLES_PACKAGE = "com" + File.separator + API_MAVEN_DEPENDENCY.replace("-", File.separator) + File.separator + "examples"; - - /** - * - */ - public static final String GITHUB_EXAMPLES_SOURCE_LOCATION = "Examples" + File.separator + "src" + File.separator + "main" + File.separator + "java" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String GITHUB_EXAMPLES_RESOURCES_LOCATION = "Examples" + File.separator + "src" + File.separator + "main" + File.separator + "resources" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String PROJECT_EXAMPLES_SOURCE_LOCATION = "src" + File.separator + "main" + File.separator + "java" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String PROJECT_EXAMPLES_RESOURCES_LOCATION = "src" + File.separator + "main" + File.separator + "resources" + File.separator + API_EXAMPLES_PACKAGE; - - /** - * - */ - public static final String EXAMPLES_UTIL = GITHUB_EXAMPLES_SOURCE_LOCATION + File.separator + "Utils.java"; - - /** - * - */ - public static final String API_DEPENDENCY_NOT_FOUND = "Dependency not found!"; - - /** - * - */ - public static final String MAVEN_POM_XML = "pom.xml"; - - /** - * - */ - public static final String WIZARD_NAME = "Aspose.Pdf Maven Project"; - - /** - * - */ - public static final String ASPOSE_SELECT_EXAMPLE = "Please just select one examples category"; - - /** - * - */ - public static final String INTERNET_CONNNECTIVITY_PING_URL = "java.sun.com"; - - /** - * - */ - public static final String ASPOSE_MAVEN_REPOSITORY = "http://maven.aspose.com"; - - /** - * - */ - public static final String ASPOSE_GROUP_ID = "com.aspose"; - - /** - * - */ - public static final String INTERNET_REQUIRED_MSG = "Internet connectivity is not available!\nInternet connectivity is required to retrieve latest Aspose.Pdf Maven Artifact"; - - /** - * - */ - public static final String EXAMPLES_INTERNET_REQUIRED_MSG = "Internet connectivity is required to download examples"; - - /** - * - */ - public static final String MAVEN_ARTIFACTS_RETRIEVE_FAIL = "Unknown Error!\nCould not retrieve latest Aspose.Pdf Maven Artifact!"; - - /** - * - */ - public static final String EXAMPLES_DOWNLOAD_FAIL = "Unknown Error!\nCould not download Aspose.Pdf for Java API example Source codes!"; - - /** - * - */ - public static final String EXAMPLES_NOT_AVAILABLE_MSG = "This component does not have examples yet, We will add examples soon"; - - /** - * - */ - public static final String EXAMPLES_NOT_AVAILABLE_TITLE = "Examples not available"; - - /** - * - */ - public static boolean printingAllowed = false; - - /** - * - * @param message - */ - public static final void println(String message) { - if (printingAllowed) { - System.out.println(message); - } - } -} diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeJavaAPI.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeJavaAPI.java deleted file mode 100644 index 100ce804..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeJavaAPI.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -import javax.swing.*; -import java.io.File; -import org.netbeans.api.progress.aggregate.ProgressContributor; -import org.openide.util.Exceptions; - -public abstract class AsposeJavaAPI { - - /** - * - * @return - */ - public abstract String get_name(); - - /** - * - * @return - */ - public abstract String get_mavenRepositoryURL(); - - /** - * - * @return - */ - public abstract String get_remoteExamplesRepository(); - - /** - * - * @return - */ - public boolean isExamplesNotAvailable() { - return examplesNotAvailable; - } - - /** - * - */ - public boolean examplesNotAvailable; - - /** - * - * @return - */ - public boolean isExamplesDefinitionAvailable() { - return examplesDefinitionAvailable; - } - - /** - * - */ - public boolean examplesDefinitionAvailable; - - /** - * - */ - public AsposeMavenProjectManager asposeMavenProjectManager; - - /** - * - * @param p - */ - public void checkAndUpdateRepo(ProgressContributor p) { - - if (null == get_remoteExamplesRepository()) { - AsposeMavenProjectManager.showMessage(AsposeConstants.EXAMPLES_NOT_AVAILABLE_TITLE, get_name() + " - " + AsposeConstants.EXAMPLES_NOT_AVAILABLE_MSG, JOptionPane.CLOSED_OPTION, JOptionPane.INFORMATION_MESSAGE); - examplesNotAvailable = true; - examplesDefinitionAvailable = false; - return; - } else { - examplesNotAvailable = false; - } - - if (isExamplesDefinitionsPresent()) { - try { - examplesDefinitionAvailable = true; - syncRepository(p); - p.progress(60); - } catch (Exception e) { - } - } else { - updateRepository(p); - if (isExamplesDefinitionsPresent()) { - examplesDefinitionAvailable = true; - - } - - } - p.progress(70); - } - - /** - * - * @param p - * @return - */ - public boolean downloadExamples(ProgressContributor p) { - try { - checkAndUpdateRepo(p); - } catch (Exception rex) { - Exceptions.printStackTrace(rex); - return false; - } - - return true; - - } - - /** - * - * @param p - */ - public void updateRepository(ProgressContributor p) { - AsposeMavenProjectManager.checkAndCreateFolder(getLocalRepositoryPath()); - - try { - - GitHelper.updateRepository(getLocalRepositoryPath(), get_remoteExamplesRepository()); - p.progress(55); - - } catch (Exception e) { - Exceptions.printStackTrace(e); - } - } - - /** - * - * @param p - */ - public void syncRepository(ProgressContributor p) { - try { - - GitHelper.syncRepository(getLocalRepositoryPath(), get_remoteExamplesRepository()); - p.progress(55); - - } catch (Exception e) { - Exceptions.printStackTrace(e); - } - } - - /** - * - * @return boolean - */ - public boolean isExamplesDefinitionsPresent() { - return new File(getLocalRepositoryPath()).exists(); - } - - /** - * - * @return String - */ - public String getLocalRepositoryPath() { - return asposeMavenProjectManager.getAsposeHomePath() + "GitConsRepos" + File.separator + get_name(); - } -} diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeMavenProjectManager.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeMavenProjectManager.java deleted file mode 100644 index 1429e310..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposeMavenProjectManager.java +++ /dev/null @@ -1,628 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -import com.aspose.pdf.maven.AsposeMavenProjectWizardIterator; -import com.aspose.pdf.maven.artifacts.Metadata; -import com.aspose.pdf.maven.artifacts.ObjectFactory; -import com.aspose.pdf.maven.examples.AsposeExamplePanel; -import com.aspose.pdf.maven.examples.CustomMutableTreeNode; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; -import java.util.List; -import javax.swing.*; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.stream.StreamSource; -import javax.xml.xpath.*; -import java.io.*; -import java.net.*; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.Queue; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreePath; -import javax.xml.bind.JAXBException; -import org.openide.WizardDescriptor; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.util.Exceptions; -import org.openide.util.NbBundle; -import org.openide.xml.XMLUtil; -import org.w3c.dom.Node; - -/** - * - * @author Adeel - */ - -public class AsposeMavenProjectManager { - - private boolean examplesNotAvailable; - private File projectDir = null; - - /** - * - * @return - */ - public File getProjectDir() { - return projectDir; - } - private boolean examplesDefinitionAvailable; - - /** - * - * @param Url - * @return - * @throws IOException - */ - public String readURLContents(String Url) throws IOException { - URL url = new URL(Url); - URLConnection con = url.openConnection(); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - byte[] buf = new byte[8192]; - int len = 0; - while ((len = in.read(buf)) != -1) { - baos.write(buf, 0, len); - } - String body = new String(baos.toByteArray(), encoding); - return body; - } - - /** - * - * @param productMavenRepositoryUrl - * @return - */ - public Metadata getProductMavenDependency(String productMavenRepositoryUrl) { - final String mavenMetaDataFileName = "maven-metadata.xml"; - Metadata data = null; - - try { - String productMavenInfo; - productMavenInfo = readURLContents(productMavenRepositoryUrl + mavenMetaDataFileName); - JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class); - Unmarshaller unmarshaller; - unmarshaller = jaxbContext.createUnmarshaller(); - - data = (Metadata) unmarshaller.unmarshal(new StreamSource(new StringReader(productMavenInfo))); - - String remoteArtifactFile = productMavenRepositoryUrl + data.getVersioning().getLatest() + "/" + data.getArtifactId() + "-" + data.getVersioning().getLatest(); - - if (!remoteFileExists(remoteArtifactFile + ".jar")) { - AsposeConstants.println("Not Exists"); - data.setClassifier(getResolveSupportedJDK(remoteArtifactFile)); - } else { - AsposeConstants.println("Exists"); - } - } catch (IOException | JAXBException ex) { - Exceptions.printStackTrace(ex); - data = null; - } - return data; - } - - /** - * - * @param ProductURL - * @return - */ - public String getResolveSupportedJDK(String ProductURL) { - String supportedJDKs[] = {"jdk17", "jdk16", "jdk15", "jdk14", "jdk18"}; - String classifier = null; - for (String jdkCheck : supportedJDKs) { - if (remoteFileExists(ProductURL + "-" + jdkCheck + ".jar")) { - AsposeConstants.println("Exists"); - classifier = jdkCheck; - break; - } else { - AsposeConstants.println("Not Exists"); - } - } - return classifier; - } - - /** - * - * @param URLName - * @return - */ - public boolean remoteFileExists(String URLName) { - try { - HttpURLConnection.setFollowRedirects(false); - // note : you may also need - // HttpURLConnection.setInstanceFollowRedirects(false) - HttpURLConnection con - = (HttpURLConnection) new URL(URLName).openConnection(); - con.setRequestMethod("HEAD"); - return (con.getResponseCode() == HttpURLConnection.HTTP_OK); - } catch (Exception e) { - Exceptions.printStackTrace(e); - return false; - } - } - - /** - * - * @param asposeAPI - * @return - */ - public AbstractTask retrieveAsposeAPIMavenTask(final AsposeJavaAPI asposeAPI) { - return new AbstractTask(NbBundle.getMessage(AsposeMavenProjectWizardIterator.class, "AsposeManager.progressTitle")) { - @Override - public void run() { - String progressMsg = NbBundle.getMessage(AsposeMavenProjectWizardIterator.class, "AsposeManager.progressMessage"); - - p.progress(progressMsg); - StatusDisplayer.getDefault().setStatusText(progressMsg); - - p.start(100); - p.progress(50); - retrieveAsposeMavenDependencies(); - StatusDisplayer.getDefault().setStatusText(progressMsg); - p.progress(100); - p.finish(); - } - }; - } - - /** - * - * @param asposeAPI - * @return - */ - public AbstractTask createDownloadExamplesTask(final AsposeJavaAPI asposeAPI) { - return new AbstractTask(NbBundle.getMessage(AsposeMavenProjectWizardIterator.class, "AsposeManager.progressExamplesTitle")) { - @Override - public void run() { - String downloadExamplesMessage = NbBundle.getMessage(AsposeMavenProjectWizardIterator.class, "AsposeManager.downloadExamplesMessage"); - - p.progress(downloadExamplesMessage); - StatusDisplayer.getDefault().setStatusText(downloadExamplesMessage); - p.start(100); - p.progress(50); - asposeAPI.downloadExamples(p); - p.progress(downloadExamplesMessage); - p.progress(100); - p.finish(); - } - }; - } - - /** - * - * @param asposeAPI - * @param panel - * @return - */ - public Runnable populateExamplesTask(final AsposeJavaAPI asposeAPI, final AsposeExamplePanel panel) { - - return new Runnable() { - @Override - public void run() { - final CustomMutableTreeNode top = new CustomMutableTreeNode(""); - DefaultTreeModel model = (DefaultTreeModel) panel.getExamplesTree().getModel(); - model.setRoot(top); - model.reload(top); - AsposeJavaAPI component = AsposePdfJavaAPI.getInstance(); - if (component.isExamplesDefinitionAvailable()) { - populateExamplesTree(component, top, panel); - } - top.setTopTreeNodeText(AsposeConstants.API_NAME); - model.setRoot(top); - model.reload(top); - panel.getExamplesTree().expandPath(new TreePath(top.getPath())); - } - }; - - } - - /** - * - * @return - */ - public boolean retrieveAsposeMavenDependencies() { - try { - getAsposeProjectMavenDependencies().clear(); - AsposeJavaAPI component = AsposePdfJavaAPI.getInstance(); - Metadata productMavenDependency = getProductMavenDependency(component.get_mavenRepositoryURL()); - if (productMavenDependency != null) { - getAsposeProjectMavenDependencies().add(productMavenDependency); - } - - } catch (Exception rex) { - Exceptions.printStackTrace(rex); - return false; - } - return !getAsposeProjectMavenDependencies().isEmpty(); - } - - /** - * - * @return - */ - public static boolean isInternetConnected() { - try { - InetAddress address = InetAddress.getByName(AsposeConstants.INTERNET_CONNNECTIVITY_PING_URL); - if (address == null) { - return false; - } - } catch (UnknownHostException e) { - Exceptions.printStackTrace(e); - return false; - } - - return true; - } - - /** - * - * @param title - * @param message - * @param buttons - * @param icon - * @return - */ - public static int showMessage(String title, String message, int buttons, int icon) { - int result = JOptionPane.showConfirmDialog(null, message, title, buttons, icon); - return result; - } - - private Document getXmlDocument(String mavenPomXmlfile) throws ParserConfigurationException, SAXException, IOException { - DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); - Document pomDocument = docBuilder.parse(mavenPomXmlfile); - - return pomDocument; - } - - /** - * - * @param dependencyName - * @return - */ - public String getDependencyVersionFromPOM(String dependencyName) { - try { - String mavenPomXmlfile = projectDir.getPath() + File.separator + AsposeConstants.MAVEN_POM_XML; - - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//version[ancestor::dependency/artifactId[text()='" + dependencyName + "']]"; - XPathExpression xPathExpr = xpath.compile(expression); - NodeList nl = (NodeList) xPathExpr.evaluate(pomDocument, XPathConstants.NODESET); - - if (nl != null && nl.getLength() > 0) { - return nl.item(0).getTextContent(); - } - } catch (IOException | ParserConfigurationException | SAXException | XPathExpressionException e) { - Exceptions.printStackTrace(e); - } - return null; - } - - /** - * - * @return - */ - public String getAsposeHomePath() { - - return System.getProperty("user.home") + File.separator + "aspose" + File.separator; - - } - - /** - * - * @param sourceLocation - * @param targetLocation - * @throws IOException - */ - public static void copyDirectory(String sourceLocation, String targetLocation) throws IOException { - - checkAndCreateFolder(targetLocation); - copyDirectory(new File(sourceLocation + File.separator), new File(targetLocation + File.separator)); - } - - /** - * - * @param sourceLocation - * @param targetLocation - * @throws IOException - */ - public static void copyDirectory(File sourceLocation, File targetLocation) throws IOException { - if (sourceLocation.isDirectory()) { - if (!targetLocation.exists()) { - targetLocation.mkdir(); - } - - String[] children = sourceLocation.list(); - for (String children1 : children) { - copyDirectory(new File(sourceLocation, children1), new File(targetLocation, children1)); - } - } else { - - OutputStream out; - try (InputStream in = new FileInputStream(sourceLocation)) { - out = new FileOutputStream(targetLocation); - // Copy the bits from instream to outstream - byte[] buf = new byte[1024]; - int len; - while ((len = in.read(buf)) > 0) { - out.write(buf, 0, len); - } - } - out.close(); - } - } - - /** - * - * @param folderPath - */ - public static void checkAndCreateFolder(String folderPath) { - File folder = new File(folderPath); - if (!folder.exists()) { - folder.mkdirs(); - } - } - // Singleton instance - private static AsposeMavenProjectManager asposeMavenProjectManager = new AsposeMavenProjectManager(); - - /** - * - * @return - */ - public static AsposeMavenProjectManager getInstance() { - return asposeMavenProjectManager; - } - - /** - * - * @param wiz - * @return - */ - public static AsposeMavenProjectManager initialize(WizardDescriptor wiz) { - asposeMavenProjectManager = new AsposeMavenProjectManager(); - asposeMavenProjectManager.projectDir = FileUtil.normalizeFile((File) wiz.getProperty("projdir")); - return asposeMavenProjectManager; - } - - private AsposeMavenProjectManager() { - } - - /** - * - * @return - */ - public static List getAsposeProjectMavenDependencies() { - return asposeProjectMavenDependencies; - } - - /** - * - */ - public static void clearAsposeProjectMavenDependencies() { - asposeProjectMavenDependencies.clear(); - } - - private static final List asposeProjectMavenDependencies = new ArrayList(); - - /** - * - * @param addTheseDependencies - */ - public void addMavenDependenciesInProject(NodeList addTheseDependencies) { - - String mavenPomXmlfile = projectDir.getPath() + File.separator + AsposeConstants.MAVEN_POM_XML; - - try { - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - Node dependenciesNode = pomDocument.getElementsByTagName("dependencies").item(0); - - if (addTheseDependencies != null && addTheseDependencies.getLength() > 0) { - for (int n = 0; n < addTheseDependencies.getLength(); n++) { - String artifactId = addTheseDependencies.item(n).getFirstChild().getNextSibling().getNextSibling().getNextSibling().getFirstChild().getNodeValue(); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//artifactId[text()='" + artifactId + "']"; - - XPathExpression xPathExpr = xpath.compile(expression); - - Node dependencyAlreadyExist = (Node) xPathExpr.evaluate(pomDocument, XPathConstants.NODE); - - if (dependencyAlreadyExist != null) { - Node dependencies = pomDocument.getElementsByTagName("dependencies").item(0); - dependencies.removeChild(dependencyAlreadyExist.getParentNode()); - } - - Node importedNode = pomDocument.importNode(addTheseDependencies.item(n), true); - dependenciesNode.appendChild(importedNode); - - } - } - removeEmptyLinesfromDOM(pomDocument); - writeToPOM(pomDocument); - - } catch (ParserConfigurationException | SAXException | XPathExpressionException | IOException ex) { - Exceptions.printStackTrace(ex); - } - } - - /** - * - * @param addTheseRepositories - */ - public void addMavenRepositoriesInProject(NodeList addTheseRepositories) { - String mavenPomXmlfile = projectDir.getPath() + File.separator + AsposeConstants.MAVEN_POM_XML; - - try { - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - Node repositoriesNode = pomDocument.getElementsByTagName("repositories").item(0); - - if (addTheseRepositories != null && addTheseRepositories.getLength() > 0) { - for (int n = 0; n < addTheseRepositories.getLength(); n++) { - String repositoryId = addTheseRepositories.item(n).getFirstChild().getNextSibling().getFirstChild().getNodeValue(); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//id[text()='" + repositoryId + "']"; - - XPathExpression xPathExpr = xpath.compile(expression); - - Boolean repositoryAlreadyExist = (Boolean) xPathExpr.evaluate(pomDocument, XPathConstants.BOOLEAN); - - if (!repositoryAlreadyExist) { - Node importedNode = pomDocument.importNode(addTheseRepositories.item(n), true); - repositoriesNode.appendChild(importedNode); - } - - } - } - removeEmptyLinesfromDOM(pomDocument); - writeToPOM(pomDocument); - - } catch (XPathExpressionException | SAXException | ParserConfigurationException | IOException ex) { - Exceptions.printStackTrace(ex); - } - } - - /** - * - * @param pomDocument - * @throws IOException - */ - public void writeToPOM(Document pomDocument) throws IOException { - - FileObject projectRoot = FileUtil.toFileObject(projectDir); - FileObject fo = FileUtil.createData(projectRoot, AsposeConstants.MAVEN_POM_XML); - try (OutputStream out = fo.getOutputStream()) { - XMLUtil.write(pomDocument, out, "UTF-8"); - } - } - - /** - * - * @param mavenPomXmlfile - * @param excludeGroup - * @return - */ - public NodeList getDependenciesFromPOM(String mavenPomXmlfile, String excludeGroup) { - - try { - - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//dependency[child::groupId[text()!='" + excludeGroup + "']]"; - XPathExpression xPathExpr = xpath.compile(expression); - NodeList nl = (NodeList) xPathExpr.evaluate(pomDocument, XPathConstants.NODESET); - if (nl != null && nl.getLength() > 0) { - return nl; - } - } catch (IOException | ParserConfigurationException | SAXException | XPathExpressionException e) { - Exceptions.printStackTrace(e); - } - return null; - } - - /** - * - * @param mavenPomXmlfile - * @param excludeURL - * @return - */ - public NodeList getRepositoriesFromPOM(String mavenPomXmlfile, String excludeURL) { - - try { - - Document pomDocument = getXmlDocument(mavenPomXmlfile); - - XPathFactory xPathfactory = XPathFactory.newInstance(); - XPath xpath = xPathfactory.newXPath(); - String expression = "//repository[child::url[not(starts-with(.,'" + excludeURL + "'))]]"; - XPathExpression xPathExpr = xpath.compile(expression); - NodeList nl = (NodeList) xPathExpr.evaluate(pomDocument, XPathConstants.NODESET); - if (nl != null && nl.getLength() > 0) { - return nl; - } - } catch (IOException | ParserConfigurationException | SAXException | XPathExpressionException e) { - Exceptions.printStackTrace(e); - } - return null; - } - - private void removeEmptyLinesfromDOM(Document doc) throws XPathExpressionException { - XPath xp = XPathFactory.newInstance().newXPath(); - NodeList nl = (NodeList) xp.evaluate("//text()[normalize-space(.)='']", doc, XPathConstants.NODESET); - - for (int i = 0; i < nl.getLength(); ++i) { - Node node = nl.item(i); - node.getParentNode().removeChild(node); - } - } - - /** - * - * @param asposeComponent - * @param top - * @param panel - */ - public void populateExamplesTree(AsposeJavaAPI asposeComponent, CustomMutableTreeNode top, AsposeExamplePanel panel) { - String examplesFullPath = asposeComponent.getLocalRepositoryPath() + File.separator + AsposeConstants.GITHUB_EXAMPLES_SOURCE_LOCATION; - File directory = new File(examplesFullPath); - panel.getExamplesTree().removeAll(); - top.setExPath(examplesFullPath); - Queue queue = new LinkedList<>(); - queue.add(new Object[]{null, directory}); - - while (!queue.isEmpty()) { - Object[] _entry = queue.remove(); - File childFile = ((File) _entry[1]); - CustomMutableTreeNode parentItem = ((CustomMutableTreeNode) _entry[0]); - if (childFile.isDirectory()) { - if (parentItem != null) { - CustomMutableTreeNode child = new CustomMutableTreeNode(FormatExamples.formatTitle(childFile.getName())); - child.setExPath(childFile.getAbsolutePath()); - child.setFolder(true); - parentItem.add(child); - parentItem = child; - } else { - parentItem = top; - } - for (File f : childFile.listFiles()) { - queue.add(new Object[]{parentItem, f}); - } - } else if (childFile.isFile()) { - - String title = FormatExamples.formatTitle(childFile.getName()); - CustomMutableTreeNode child = new CustomMutableTreeNode(title); - child.setFolder(false); - parentItem.add(child); - - } - } - - } -} diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposePdfJavaAPI.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposePdfJavaAPI.java deleted file mode 100644 index 9def4249..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/AsposePdfJavaAPI.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -/* - * @author Adeel Ilyas - * - */ -// Singleton Class - -/** - * - * @author Adeel - */ -public class AsposePdfJavaAPI extends AsposeJavaAPI { - - private final String _name = AsposeConstants.API_NAME; - private final String _mavenRepositoryURL = "http://maven.aspose.com/repository/ext-release-local/com/aspose/aspose-pdf/"; - private final String _remoteExamplesRepository = "https://github.com/asposepdf/Aspose_Pdf_Java"; - - /** - * @return the _name - */ - @Override - public String get_name() { - return _name; - } - - /** - * @return the _mavenRepositoryURL - */ - @Override - public String get_mavenRepositoryURL() { - return _mavenRepositoryURL; - } - - /** - * @return the _remoteExamplesRepository - */ - @Override - public String get_remoteExamplesRepository() { - return _remoteExamplesRepository; - } - - // Singleton instance - private static AsposeJavaAPI asposePdfAPI; - - /** - * - * @return - */ - public static AsposeJavaAPI getInstance() { - return asposePdfAPI; - } - - /** - * - * @param asposeMavenProjectManager - * @return - */ - public static AsposeJavaAPI initialize(AsposeMavenProjectManager asposeMavenProjectManager) { - asposePdfAPI = new AsposePdfJavaAPI(); - asposePdfAPI.asposeMavenProjectManager = asposeMavenProjectManager; - return asposePdfAPI; - } - - private AsposePdfJavaAPI() { - } -} diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/FormatExamples.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/FormatExamples.java deleted file mode 100644 index 8efcb5c0..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/FormatExamples.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 1998-2016 Aspose Pty Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package com.aspose.pdf.maven.utils; - -import org.apache.commons.lang.WordUtils; - -public class FormatExamples { - - /** - * - * @param inputStr - * @return - */ - public static String formatTitle(String inputStr) { - String title = inputStr.replaceAll("(_|.java|\\.)", " "); - title = title.replaceAll("([A-Z])", " $1"); - title = WordUtils.capitalize(title); - - return title; - } -} diff --git a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/GitHelper.java b/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/GitHelper.java deleted file mode 100644 index e91b975a..00000000 --- a/Plugins/Aspose_Pdf_Java_for_NetBeans(Maven)/src/com/aspose/pdf/maven/utils/GitHelper.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package com.aspose.pdf.maven.utils; - -import org.eclipse.jgit.api.Git; -import org.eclipse.jgit.internal.storage.file.FileRepository; -import org.eclipse.jgit.lib.Repository; - -import java.io.File; - -/** - * @author Adeel Ilyas - * - */ -public class GitHelper { - - /** - * - * @param localPath - * @param remotePath - * @throws Exception - */ - public static void updateRepository(String localPath, String remotePath) throws Exception { - Repository localRepo; - try { - localRepo = new FileRepository(localPath + "/.git"); - - Git git = new Git(localRepo); - - // First try to clone the repository - try { - Git.cloneRepository().setURI(remotePath).setDirectory(new File(localPath)).call(); - } catch (Exception ex) { - // If clone fails, try to pull the changes - try { - git.pull().call(); - } catch (Exception exPull) { - // Pull also failed. Throw this exception to caller - throw exPull; // throw it - } - } - } catch (Exception ex) { - throw new Exception("Could not download Repository from Github. Error: " + ex.getMessage()); - } - } - - /** - * - * @param localPath - * @param remotePath - * @throws Exception - */ - public static void syncRepository(String localPath, String remotePath) throws Exception { - Repository localRepo; - try { - localRepo = new FileRepository(localPath + "/.git"); - - Git git = new Git(localRepo); - - // Pull the changes - try { - git.pull().call(); - } catch (Exception exPull) { - // If pull failed. Throw this exception to caller - - throw exPull; // throw it - } - - } catch (Exception ex) { - throw new Exception("Could not update Repository from Github. Error: " + ex.getMessage()); - } - } - -} diff --git a/Plugins/Aspose_Pdf_Java_for_PHP/README.md b/Plugins/Aspose_Pdf_Java_for_PHP/README.md deleted file mode 100644 index 6dd0ff7e..00000000 --- a/Plugins/Aspose_Pdf_Java_for_PHP/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Aspose.PDF Java for PHP -Aspose Pdf Java for PHP is a PHP project that demonstrates / provides the Aspose.PDF for Java API usage examples in PHP by using PHP/JAVA Bridge. - -You will need to configure PHP/Java Bridge before using any of the Aspose provided Java APIs in PHP e.g Aspose.PDF, Aspose.Words, Aspose.Cells and Aspose.Slides etc. - -For the configuration/setup of PHP/Java Bridge, please see: - -http://php-java-bridge.sourceforge.net/pjb/index.php - -To download Aspose.PDF for Java API to be used with these examples through PHP/Java Bridge -Please navigate to: - -https://artifact.aspose.com/webapp/#/artifacts/browse/tree/General/repo/com/aspose/aspose-pdf - -For most complete documentation of the project, check Aspose.PDF Java for PHP confluence wiki link: - -https://docs.aspose.com/display/pdfjava/Aspose.Pdf+Java+for+PHP - - diff --git a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithDocumentConversion/__init__.py b/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithDocumentConversion/__init__.py deleted file mode 100755 index 84e4afcd..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithDocumentConversion/__init__.py +++ /dev/null @@ -1,98 +0,0 @@ -__author__ = 'fahadadeel' -import jpype - - -class PdfToDoc: - def __init__(self, dataDir): - print "init func" - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'Template.pdf' - doc.save(self.dataDir + 'template.docx') - print "Document has been converted successfully" - -class PdfToExcel: - - def __init__(self, dataDir): - print "init func" - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.ExcelSaveOptions=jpype.JClass("com.aspose.pdf.ExcelSaveOptions") - - def main(self): - - # Open the target document - doc=self.Document() - pdf = self.Document() - pdf=self.dataDir +'input1.pdf' - - # Instantiate ExcelSave Option object - excelsave=self.ExcelSaveOptions(); - - # Save the output to XLS format - doc.save(self.dataDir + "Converted_Excel.xls", excelsave); - - print "Document has been converted successfully" - -class PdfToSvg: - - def __init__(self, dataDir): - print "init func" - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.SvgSaveOptions=jpype.JClass("com.aspose.pdf.SvgSaveOptions") - - def main(self): - - # Open the target document - doc=self.Document() - pdf = self.Document() - pdf=self.dataDir +'input1.pdf' - - # instantiate an object of SvgSaveOptions - save_options = self.SvgSaveOptions() - - # do not compress SVG image to Zip archive - save_options.CompressOutputToZipArchive = False; - - # Save the output to XLS format - doc.save(self.dataDir + "Output1.svg", save_options) - - print "Document has been converted successfully" - # doc= self.Document() - # pdf = self.Document() - # pdf=self.dataDir + 'Template.pdf' - # doc.save(self.dataDir + 'template.svg') - # print "Document has been converted successfully" - -class SvgToPdf: - - def __init__(self, dataDir): - print "init func" - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.SvgLoadOptions=jpype.JClass("com.aspose.pdf.SvgLoadOptions") - - def main(self): - - options = self.SvgLoadOptions(); - - doc=self.Document() - pdf = self.Document() - pdf=self.dataDir +'input1.pdf' - - # Save the output to XLS format - doc.save(self.dataDir + "SVG1.pdf"); - - print "Document has been converted successfully" - - # doc= self.Document() - # pdf = self.Document() - # pdf=self.dataDir + 'template.svg' - # doc.save(self.dataDir + 'Template.pdf') - # print "Document has been converted successfully" diff --git a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithDocumentObject/__init__.py b/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithDocumentObject/__init__.py deleted file mode 100755 index f2ee26c5..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithDocumentObject/__init__.py +++ /dev/null @@ -1,280 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import re -import datetime - -class AddJavascript: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.JavascriptAction=jpype.JClass("com.aspose.pdf.JavascriptAction") - - def main(self): - - # Open a pdf document. - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'Template.pdf' - - - # Adding JavaScript at Document Level - # Instantiate JavascriptAction with desried JavaScript statement - javaScript = self.JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});"); - - # Assign JavascriptAction object to desired action of Document - doc.setOpenAction(javaScript) - js=self.JavascriptAction("app.alert('page 2 is opened')") - - # Adding JavaScript at Page Level - doc.getPages.get_Item(2) - doc.getActions().setOnOpen(js()) - doc.getPages().get_Item(2).getActions().setOnClose(self.JavascriptAction("app.alert('page 2 is closed')")) - - # Save PDF Document - doc.save(self.dataDir + "JavaScript-Added.pdf") - - print "Added JavaScript Successfully, please check the output file." - -class AddToc: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.TocInfo=jpype.JClass("com.aspose.pdf.TocInfo") - self.TextFragment=jpype.JClass("com.aspose.pdf.TextFragment") - self.TextSegment=jpype.JClass("com.aspose.pdf.TextSegment") - self.Heading=jpype.JClass("com.aspose.pdf.Heading") - - def main(self): - # Open a pdf document. - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # Get access to first page of PDF file - toc_page = doc.getPages().insert(1) - - # Create object to represent TOC information - toc_info = self.TocInfo() - title = self.TextFragment("Table Of Contents") - title.getTextState().setFontSize(20) - - # Set the title for TOC - toc_info.setTitle(title) - toc_page.setTocInfo(toc_info) - - # Create string objects which will be used as TOC elements - titles = ["First page", "Second page"] - - i = 0; - while (i < 2): - # Create Heading object - heading2 = self.Heading(1); - - segment2 = self.TextSegment - heading2.setTocPage(toc_page) - heading2.getSegments().add(segment2) - - # Specify the destination page for heading object - heading2.setDestinationPage(doc.getPages().get_Item(i + 2)) - - # Destination page - heading2.setTop(doc.getPages().get_Item(i + 2).getRect().getHeight()) - - # Destination coordinate - segment2.setText(titles[i]) - - # Add heading to page containing TOC - toc_page.getParagraphs().add(heading2) - - i +=1; - - - # Save PDF Document - doc.save(self.dataDir + "TOC.pdf") - - print "Added TOC Successfully, please check the output file." - -class GetDocumentWindow: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # Get different document properties - # Position of document's window - Default: false - print "CenterWindow :- " + str(doc.getCenterWindow()) - - # Predominant reading order; determine the position of page - # when displayed side by side - Default: L2R - print "Direction :- " + str(doc.getDirection()) - - # Whether window's title bar should display document title. - # If false, title bar displays PDF file name - Default: false - print "DisplayDocTitle :- " + str(doc.getDisplayDocTitle()) - - #Whether to resize the document's window to fit the size of - #first displayed page - Default: false - print "FitWindow :- " + str(doc.getFitWindow()) - - # Whether to hide menu bar of the viewer application - Default: false - print "HideMenuBar :-" + str(doc.getHideMenubar()) - - # Whether to hide tool bar of the viewer application - Default: false - print "HideToolBar :-" + str(doc.getHideToolBar()) - - # Whether to hide UI elements like scroll bars - # and leaving only the page contents displayed - Default: false - print "HideWindowUI :-" + str(doc.getHideWindowUI()) - - # The document's page mode. How to display document on exiting full-screen mode. - print "NonFullScreenPageMode :-" + str(doc.getNonFullScreenPageMode()) - - # The page layout i.e. single page, one column - print "PageLayout :-" + str(doc.getPageLayout()) - - #How the document should display when opened. - print "pageMode :-" + str(doc.getPageMode()) - -class GetPdfFileInfo: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # Get document information - doc_info = doc.getInfo(); - - # Show document information - print "Author:-" + str(doc_info.getAuthor()) - print "Creation Date:-" + str(doc_info.getCreationDate()) - print "Keywords:-" + str(doc_info.getKeywords()) - print "Modify Date:-" + str(doc_info.getModDate()) - print "Subject:-" + str(doc_info.getSubject()) - print "Title:-" + str(doc_info.getTitle()) - -class GetXMPMetadata: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # Get properties - print "xmp:CreateDate: " + str(doc.getMetadata().get_Item("xmp:CreateDate")) - print "xmp:Nickname: " + str(doc.getMetadata().get_Item("xmp:Nickname")) - print "xmp:CustomProperty: " + str(doc.getMetadata().get_Item("xmp:CustomProperty")) - - - -class Optimize: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") -# self.OptimizationOptions=jpype.JClass("com.aspose.pdf.Document.OptimizationOptions") - - def main(self): - - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # Optimize for web - doc.optimize(); - - #Save output document - doc.save(self.dataDir + "Optimized_Web.pdf") - - print "Optimized PDF for the Web, please check output file." - -class RemoveMetadata: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - if (re.findall('/pdfaid:part/',doc.getMetadata())): - doc.getMetadata().removeItem("pdfaid:part") - - - if (re.findall('/dc:format/',doc.getMetadata())): - doc.getMetadata().removeItem("dc:format") - - - # save update document with new information - doc.save(self.dataDir + "Remove_Metadata.pdf") - - print "Removed metadata successfully, please check output file." - -class SetExpiration: - - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.JavascriptAction=jpype.JClass("com.aspose.pdf.JavascriptAction") - - def main(self): - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - javascript = self.JavascriptAction( - "var year=2014; var month=4;today = new Date();today = new Date(today.getFullYear(), today.getMonth());expiry = new Date(year, month);if (today.getTime() > expiry.getTime())app.alert('The file is expired. You need a new one.');"); - - doc.setOpenAction(javascript); - - # save update document with new information - doc.save(self.dataDir + "set_expiration.pdf"); - - print "Update document information, please check output file." - - -class SetPdfFileInfo: - - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # Get document information - doc_info = doc.getInfo(); - - doc_info.setAuthor("Aspose.Pdf for java"); - doc_info.setCreationDate(datetime.today.strftime("%m/%d/%Y")); - doc_info.setKeywords("Aspose.Pdf, DOM, API"); - doc_info.setModDate(datetime.today.strftime("%m/%d/%Y")); - doc_info.setSubject("PDF Information"); - doc_info.setTitle("Setting PDF Document Information"); - - # save update document with new information - doc.save(self.dataDir + "Updated_Information.pdf") - - print "Update document information, please check output file." - - - - - diff --git a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithPages/__init__.py b/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithPages/__init__.py deleted file mode 100755 index 4b50d8b0..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithPages/__init__.py +++ /dev/null @@ -1,201 +0,0 @@ -__author__ = 'fahadadeel' -import jpype - -class ConcatenatePdfFiles: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # Open the source document - pdf1 = self.Document() - pdf1=self.dataDir + 'input2.pdf' - - # Add the pages of the source document to the target document - pdf1.getPages().add(pdf1.getPages()) - - # Save the concatenated output file (the target document) - doc.save(self.dataDir + "Concatenate_output.pdf") - - print "New document has been saved, please check the output file" - - -class DeletePage: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # delete a particular page - pdf.getPages().delete(2) - - # save the newly generated PDF file - doc.save(self.dataDir + "output.pdf") - - print "Page deleted successfully!" - -class GetNumberOfPages: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - page_count = pdf.getPages().size() - - print "Page Count:" . page_count - -class GetPage: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - # Open the target document - doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # get the page at particular index of Page Collection - pdf_page = pdf.getPages().get_Item(1) - - # create a new Document object - new_document = self.Document() - - # add page to pages collection of new document object - new_document.getPages().add(pdf_page) - - # save the newly generated PDF file - new_document.save(self.dataDir + "output.pdf") - - print "Process completed successfully!" - - -class GetPageProperties: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - doc= self.Document() - pdf_document = self.Document() - pdf_document=self.dataDir + 'input1.pdf' - - # get page collection - page_collection = pdf_document.getPages(); - - # get particular page - pdf_page = page_collection.get_Item(1); - - #get page properties - print "ArtBox : Height = " + pdf_page.getArtBox().getHeight() + ", Width = " + pdf_page.getArtBox().getWidth() + ", LLX = " + pdf_page.getArtBox().getLLX() + ", LLY = " + pdf_page.getArtBox().getLLY() + ", URX = " + pdf_page.getArtBox().getURX() + ", URY = " + pdf_page.getArtBox().getURY() - print "BleedBox : Height = " + pdf_page.getBleedBox().getHeight() + ", Width = " + pdf_page.getBleedBox().getWidth() + ", LLX = " + pdf_page.getBleedBox().getLLX() + ", LLY = " + pdf_page.getBleedBox().getLLY() + ", URX = " + pdf_page.getBleedBox().getURX() + ", URY = " . pdf_page.getBleedBox().getURY() - print "CropBox : Height = " + pdf_page.getCropBox().getHeight() + ", Width = " + pdf_page.getCropBox().getWidth() + ", LLX = " + pdf_page.getCropBox().getLLX() + ", LLY = " + pdf_page.getCropBox().getLLY() + ", URX = " + pdf_page.getCropBox().getURX() + ", URY = " . pdf_page.getCropBox().getURY() - print "MediaBox : Height = " + pdf_page.getMediaBox().getHeight() + ", Width = " + pdf_page.getMediaBox().getWidth() + ", LLX = " + pdf_page.getMediaBox().getLLX() + ", LLY = " + pdf_page.getMediaBox().getLLY() + ", URX = " + pdf_page.getMediaBox().getURX() + ", URY = " . pdf_page.getMediaBox().getURY() - print "TrimBox : Height = " + pdf_page.getTrimBox().getHeight() + ", Width = " + pdf_page.getTrimBox().getWidth() + ", LLX = " + pdf_page.getTrimBox().getLLX() + ", LLY = " + pdf_page.getTrimBox().getLLY() + ", URX = " + pdf_page.getTrimBox().getURX() + ", URY = " . pdf_page.getTrimBox().getURY() - print "Rect : Height = " + pdf_page.getRect().getHeight() + ", Width = " + pdf_page.getRect().getWidth() + ", LLX = " + pdf_page.getRect().getLLX() + ", LLY = " + pdf_page.getRect().getLLY() + ", URX = " + pdf_page.getRect().getURX() + ", URY = " + pdf_page.getRect().getURY() - print "Page Number :- " + pdf_page.getNumber() - print "Rotate :-" + pdf_page.getRotate() - - -class InsertEmptyPage: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - doc= self.Document() - pdf_document = self.Document() - pdf_document=self.dataDir + 'input1.pdf' - - # insert a empty page in a PDF - pdf_document.getPages().insert(1) - - # Save the concatenated output file (the target document) - pdf_document.save(self.dataDir + "output.pdf") - - print "Empty page added successfully!" - -class InsertEmptyPageAtEndOfFile: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - #doc= self.Document() - pdf_document = self.Document() - pdf_document=self.dataDir + 'input1.pdf' - - # insert a empty page in a PDF - pdf_document.getPages().add(); - - # Save the concatenated output file (the target document) - pdf_document.save(self.dataDir + "output.pdf") - - print "Empty page added successfully!" - -class SplitAllPages: - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - #doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # loop through all the pages - pdf_page = 1 - total_size = pdf.getPages().size() - while (pdf_page <= total_size): - - # create a new Document object - new_document = self.Document(); - - # get the page at particular index of Page Collection - new_document.getPages().add(pdf.getPages().get_Item(pdf_page)) - - # save the newly generated PDF file - new_document.save(self.dataDir + "page_#{$pdf_page}.pdf") - - pdf_page+=1 - - print "Split process completed successfully!"; - - -class UpdatePageDimensions: - - def __init__(self, dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - - def main(self): - #doc= self.Document() - pdf = self.Document() - pdf=self.dataDir + 'input1.pdf' - - # get page collection - page_collection = pdf.getPages() - - # get particular page - pdf_page = page_collection.get_Item(1) - - # set the page size as A4 (11.7 x 8.3 in) and in Aspose.Pdf, 1 inch = 72 points - # so A4 dimensions in points will be (842.4, 597.6) - pdf_page.setPageSize(597.6,842.4) - - # save the newly generated PDF file - pdf.save(self.dataDir + "output.pdf") - - print "Dimensions updated successfully!" diff --git a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithText/__init__.py b/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithText/__init__.py deleted file mode 100755 index 72d36d7d..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/WorkingWithText/__init__.py +++ /dev/null @@ -1,143 +0,0 @@ -__author__ = 'fahadadeel' -import jpype - - -class AddHtml: - def __init__(self, dataDir): - print "init func" - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.HtmlFragment=jpype.JClass("com.aspose.pdf.HtmlFragment") - self.MarginInfo=jpype.JClass("com.aspose.pdf.MarginInfo") - self.TextFragment=jpype.JClass("com.aspose.pdf.TextFragment") - self.Position=jpype.JClass("com.aspose.pdf.Position") - self.FontRepository=jpype.JClass("com.aspose.pdf.FontRepository") - self.Color=jpype.JClass("com.aspose.pdf.Color") - self.TextBuilder=jpype.JClass("com.aspose.pdf.TextBuilder") - - def main(self): - - doc=self.Document() - page=doc.getPages().add() - - title=self.HtmlFragment("Table") - - margin=self.MarginInfo() - #margin.setBottom(10) - #margin.setTop(200) - - # Set margin information - title.setMargin(margin) - - # Add HTML Fragment to paragraphs collection of page - page.getParagraphs().add(title) - - # Save PDF file - doc.save(self.dataDir + 'html.output.pdf') - - print "HTML added successfully" - -class AddText: - def __init__(self, dataDir): - print "init func" - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.HtmlFragment=jpype.JClass("com.aspose.pdf.HtmlFragment") - self.MarginInfo=jpype.JClass("com.aspose.pdf.MarginInfo") - self.TextFragment=jpype.JClass("com.aspose.pdf.TextFragment") - self.Position=jpype.JClass("com.aspose.pdf.Position") - self.FontRepository=jpype.JClass("com.aspose.pdf.FontRepository") - self.Color=jpype.JClass("com.aspose.pdf.Color") - self.TextBuilder=jpype.JClass("com.aspose.pdf.TextBuilder") - - def main(self): - - #$doc = new Document($dataDir . 'input1.pdf'); - doc=self.Document() - doc=self.dataDir + 'input1.pdf' - - # get particular page - #$pdf_page = $doc->getPages()->get_Item(1); - pdf_page=self.Document() - pdf_page.getPages().get_Item(1) - - # create text fragment - #$text_fragment = new TextFragment("main text"); - text_fragment=self.TextFragment("main text") - #$text_fragment->setPosition(new Position(100, 600)); - position=self.Position() - text_fragment.setPosition(position(100,600)) - - - #$font_repository = new FontRepository(); - #$color = new Color(); - - font_repository=self.FontRepository() - color=self.Color() - - # set text properties - #$text_fragment->getTextState()->setFont($font_repository->findFont("Verdana")); - #$text_fragment->getTextState()->setFontSize(14); - - text_fragment.getTextState().setFont(font_repository.findFont("Verdana")) - text_fragment.getTextState().setFontSize(14) - - # create TextBuilder object - # $text_builder = new TextBuilder($pdf_page); - text_builder=self.TextBuilder(pdf_page) - - # append the text fragment to the PDF page - #$text_builder->appendText($text_fragment); - text_builder.appendText(text_fragment) - - # Save PDF file - #$doc->save($dataDir . "Text_Added.pdf"); - doc.save(self.dataDir + "Text_Added.pdf") - - print "Text added successfully" - -class ExtractTextFromAllPages: - def __init__(self,dataDir): - self.dataDir = dataDir - self.Document = jpype.JClass("com.aspose.pdf.Document") - self.TextAbsorber=jpype.JClass("com.aspose.pdf.TextAbsorber") - self.FileWriter=jpype.JClass("java.io.FileWriter") - self.File=jpype.JClass("java.io.File") - - def main(self): - - # Open the target document - #$pdf = new Document($dataDir . 'input1.pdf'); - pdf=self.Document() - pdf=self.dataDir + 'input1.pdf' - - # create TextAbsorber object to extract text - #$text_absorber = new TextAbsorber(); - text_absorber=self.TextAbsorber() - - - # accept the absorber for all the pages - #$pdf->getPages()->accept($text_absorber); - pdf.getPages().accept(text_absorber) - - # In order to extract text from specific page of document, we need to specify the particular page using its index against accept(..) method. - # accept the absorber for particular PDF page - # pdfDocument.getPages().get_Item(1).accept(textAbsorber); - - #get the extracted text - #$extracted_text = $text_absorber->getText(); - extracted_text=text_absorber.getText() - - # create a writer and open the file - #$writer = new FileWriter(new File($dataDir . "extracted_text.out.txt")); - #$writer->write($extracted_text); - - writer=self.FileWriter(self.File(self.dataDir + 'extracted_text.out.txt')) - writer.write(extracted_text) - # write a line of text to the file - # tw.WriteLine(extractedText); - # close the stream - # $writer->close(); - writer.close() - - print "Text extracted successfully. Check output file." \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToDoc/PdfToDoc.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToDoc/PdfToDoc.py deleted file mode 100755 index 59ead6f6..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToDoc/PdfToDoc.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentConversion import PdfToDoc - -asposeapispath = os.path.join(os.path.abspath("../../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = PdfToDoc('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToExcel/Data/Converted_Excel.xls b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToExcel/Data/Converted_Excel.xls deleted file mode 100755 index 20df5f37..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToExcel/Data/Converted_Excel.xls +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToExcel/PdfToExcel.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToExcel/PdfToExcel.py deleted file mode 100755 index 735d58dd..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToExcel/PdfToExcel.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentConversion import PdfToExcel - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = PdfToExcel('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/PdfToSvg.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/PdfToSvg.py deleted file mode 100755 index 625888b3..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/PdfToSvg.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentConversion import PdfToSvg - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = PdfToSvg('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/data/Output.svg b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/data/Output.svg deleted file mode 100755 index 46891aca..00000000 Binary files a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/data/Output.svg and /dev/null differ diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/data/Output1.svg b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/data/Output1.svg deleted file mode 100755 index d741d0e2..00000000 Binary files a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/PdfToSvg/data/Output1.svg and /dev/null differ diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/SvgToPdf/SvgToPdf.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/SvgToPdf/SvgToPdf.py deleted file mode 100755 index 45f649ce..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentConversion/SvgToPdf/SvgToPdf.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentConversion import SvgToPdf - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = SvgToPdf('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/AddJavascript/AddJavascript.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/AddJavascript/AddJavascript.py deleted file mode 100755 index 6c8cfd2f..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/AddJavascript/AddJavascript.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentObject import AddJavascript - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = AddJavascript('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetDocumentWindow/GetDocumentWindow.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetDocumentWindow/GetDocumentWindow.py deleted file mode 100755 index 05f38a4c..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetDocumentWindow/GetDocumentWindow.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentObject import GetDocumentWindow - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = GetDocumentWindow('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetPdfFileInfo/GetPdfFileInfo.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetPdfFileInfo/GetPdfFileInfo.py deleted file mode 100755 index 0bd6c9ad..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetPdfFileInfo/GetPdfFileInfo.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentObject import GetPdfFileInfo - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = GetPdfFileInfo('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetXMPMetadata/GetXMPMetadata.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetXMPMetadata/GetXMPMetadata.py deleted file mode 100755 index d7996539..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/GetXMPMetadata/GetXMPMetadata.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentObject import GetXMPMetadata - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = GetXMPMetadata('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/Optimize/Optimize.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/Optimize/Optimize.py deleted file mode 100755 index 2d2b802b..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/Optimize/Optimize.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentObject import Optimize - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = Optimize('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/SetExpiration/SetExpiration.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/SetExpiration/SetExpiration.py deleted file mode 100755 index 673d05ff..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/SetExpiration/SetExpiration.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentObject import SetExpiration - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = SetExpiration('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/SetPdfFileInfo/SetPdfFileInfo.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/SetPdfFileInfo/SetPdfFileInfo.py deleted file mode 100755 index 76c1c0b7..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithDocumentObject/SetPdfFileInfo/SetPdfFileInfo.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithDocumentObject import SetPdfFileInfo - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = SetPdfFileInfo('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/ConcatenatePdfFiles/ConcatenatePdfFiles.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/ConcatenatePdfFiles/ConcatenatePdfFiles.py deleted file mode 100755 index f7b7bde5..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/ConcatenatePdfFiles/ConcatenatePdfFiles.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import ConcatenatePdfFiles - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = ConcatenatePdfFiles('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/DeletePage/DeletePage.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/DeletePage/DeletePage.py deleted file mode 100755 index add4a4e2..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/DeletePage/DeletePage.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import DeletePage - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = DeletePage('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetNumberOfPages/GetNumberOfPages.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetNumberOfPages/GetNumberOfPages.py deleted file mode 100755 index d3c614cf..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetNumberOfPages/GetNumberOfPages.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import GetNumberOfPages - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = GetNumberOfPages('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetPage/GetPage.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetPage/GetPage.py deleted file mode 100755 index baac9b48..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetPage/GetPage.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import GetPage - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = GetPage('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetPageProperties/GetPageProperties.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetPageProperties/GetPageProperties.py deleted file mode 100755 index 346a3de3..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/GetPageProperties/GetPageProperties.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import GetPageProperties - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = GetPageProperties('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/InsertEmptyPage/InsertEmptyPage.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/InsertEmptyPage/InsertEmptyPage.py deleted file mode 100755 index 7924faa9..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/InsertEmptyPage/InsertEmptyPage.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import InsertEmptyPage - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = InsertEmptyPage('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/InsertEmptyPageAtEndOfFile/InsertEmptyPageAtEndOfFile.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/InsertEmptyPageAtEndOfFile/InsertEmptyPageAtEndOfFile.py deleted file mode 100755 index 2e262073..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/InsertEmptyPageAtEndOfFile/InsertEmptyPageAtEndOfFile.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import InsertEmptyPageAtEndOfFile - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = InsertEmptyPageAtEndOfFile('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/SplitAllPages/SplitAllPages.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/SplitAllPages/SplitAllPages.py deleted file mode 100755 index 107c3910..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/SplitAllPages/SplitAllPages.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import SplitAllPages - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = SplitAllPages('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/UpdatePageDimensions/UpdatePageDimensions.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/UpdatePageDimensions/UpdatePageDimensions.py deleted file mode 100755 index 6d9c93f5..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/UpdatePageDimensions/UpdatePageDimensions.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithPages import UpdatePageDimensions - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = UpdatePageDimensions('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/UpdatePageDimensions/data/input1.pdf b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/UpdatePageDimensions/data/input1.pdf deleted file mode 100755 index 8345a2d9..00000000 Binary files a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithPages/UpdatePageDimensions/data/input1.pdf and /dev/null differ diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddHtml/AddHtml.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddHtml/AddHtml.py deleted file mode 100755 index 2fdbf925..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddHtml/AddHtml.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithText import AddHtml - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = AddHtml('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddHtml/data/html.output.pdf b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddHtml/data/html.output.pdf deleted file mode 100755 index 37beeba0..00000000 Binary files a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddHtml/data/html.output.pdf and /dev/null differ diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddText/AddText.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddText/AddText.py deleted file mode 100755 index 0c5d7e0a..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddText/AddText.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithText import AddText - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = AddText('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddText/data/input1.pdf b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddText/data/input1.pdf deleted file mode 100755 index 8345a2d9..00000000 Binary files a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/AddText/data/input1.pdf and /dev/null differ diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/ExtractTextFromAllPages/ExtractTextFromAllPages.py b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/ExtractTextFromAllPages/ExtractTextFromAllPages.py deleted file mode 100755 index ad8ca4fd..00000000 --- a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/ExtractTextFromAllPages/ExtractTextFromAllPages.py +++ /dev/null @@ -1,13 +0,0 @@ -__author__ = 'fahadadeel' -import jpype -import os.path -from WorkingWithText import ExtractTextFromAllPages - -asposeapispath = os.path.join(os.path.abspath("../../../"), "lib") - -print "You need to put your Aspose.Words for Java APIs .jars in this folder:\n"+asposeapispath - -jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % asposeapispath) - -testObject = ExtractTextFromAllPages('data/') -testObject.main() \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/ExtractTextFromAllPages/data/extracted_text.out.txt b/Plugins/Aspose_Pdf_Java_for_Python/test/WorkingWithText/ExtractTextFromAllPages/data/extracted_text.out.txt deleted file mode 100755 index e69de29b..00000000 diff --git a/Plugins/Aspose_Pdf_Java_for_Ruby/data/input.pdf b/Plugins/Aspose_Pdf_Java_for_Ruby/data/input.pdf deleted file mode 100644 index 04b17d43..00000000 Binary files a/Plugins/Aspose_Pdf_Java_for_Ruby/data/input.pdf and /dev/null differ diff --git a/Plugins/Aspose_Pdf_Java_for_Ruby/data/input1.pdf b/Plugins/Aspose_Pdf_Java_for_Ruby/data/input1.pdf deleted file mode 100644 index 8345a2d9..00000000 Binary files a/Plugins/Aspose_Pdf_Java_for_Ruby/data/input1.pdf and /dev/null differ diff --git a/Plugins/Aspose_Pdf_for_Struts/.classpath b/Plugins/Aspose_Pdf_for_Struts/.classpath deleted file mode 100644 index 9ae7bca0..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/.classpath +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Plugins/Aspose_Pdf_for_Struts/.project b/Plugins/Aspose_Pdf_for_Struts/.project deleted file mode 100644 index 2e5fa119..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/.project +++ /dev/null @@ -1,29 +0,0 @@ - - - Aspose_Pdf_for_Struts - - - - - - org.eclipse.wst.common.project.facet.core.builder - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - org.eclipse.wst.common.project.facet.core.nature - - diff --git a/Plugins/Aspose_Pdf_for_Struts/README.md b/Plugins/Aspose_Pdf_for_Struts/README.md deleted file mode 100644 index 3662e03a..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Aspose.PDF Java for Struts 1.3 -Aspose.PDF Java for Struts is a Maven based struts 1.3 web project that demonstrates the Aspose.PDF for Java API usage example within Struts 1.3 and Maven framework. - -The project is initially Eclipse based but can be built through mvn command line without any IDE support. - -The project can also be easily imported in any IDE i.e IntelliJ IDEA and NetBeans etc. - -You should have apache tomcat installed. After building the project .war file, copy to webapp folder. - -For most complete documentation of the project, check Aspose.PDF Java for Struts confluence wiki - -https://docs.aspose.com/display/pdfjava/Aspose.Pdf+Java+for+Struts+1.3 - diff --git a/Plugins/Aspose_Pdf_for_Struts/pom.xml b/Plugins/Aspose_Pdf_for_Struts/pom.xml deleted file mode 100644 index 6e0b64a1..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/pom.xml +++ /dev/null @@ -1,54 +0,0 @@ - - 4.0.0 - com.aspose - AsposePDFforStruts - 1.0 - war - Aspose.Pdf for Struts Example Webapp - http://www.aspose.com/java/pdf-component.aspx - - 7.0.30 - - - - AsposeJavaAPI - Aspose Java API - http://maven.aspose.com/artifactory/simple/ext-release-local/ - - - - - - org.apache.struts - struts-core - 1.3.10 - - - org.apache.struts - struts-extras - 1.3.10 - - - - org.apache.struts - struts-taglib - 1.3.10 - - - com.aspose - aspose-pdf - 10.4.0 - - - org.apache.tomcat - tomcat-servlet-api - ${tomcat.servlet.version} - provided - - - - - StrutsbookApp - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/AsposeAPIHelper.java b/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/AsposeAPIHelper.java deleted file mode 100644 index c84c408b..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/AsposeAPIHelper.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.books; - -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletContext; -import javax.servlet.ServletOutputStream; - -import aspose.pdf.BorderInfo; -import aspose.pdf.MarginInfo; -import aspose.pdf.Pdf; -import aspose.pdf.Row; -import aspose.pdf.Section; -import aspose.pdf.Table; - - -/** - * - * @author Adeel - * - */ -public class AsposeAPIHelper { - - /** - * Creates pdf ocument from list of book provided from grid. - * - * @param out - * the current scope OutputStream. - * @param books - * books list as map containing attributes. - * @param context - * the App ServletContext - * @see aspose.pdf.Pdf - */ - public static void createAsposePdf(ServletOutputStream out, - List books, ServletContext context) throws Exception { - try { - - // Create PDF document - Pdf pdf1 = new Pdf(); - // Add a section into the PDF document - Section sec1 = pdf1.getSections().add(); - - // Add a text paragraph into the section - Table table = new Table(sec1); - MarginInfo margin2 = new MarginInfo(); - sec1.getParagraphs().add(table); - table.setColumnWidths("80 80 100 80"); - MarginInfo margin = new MarginInfo(); - margin.setLeft(5f); - margin.setRight(5f); - margin.setTop(5f); - margin.setBottom(5f); - // Set the default cell padding to the MarginInfo object - table.setDefaultCellPadding(margin); - table.setDefaultCellBorder(new BorderInfo( - com.aspose.pdf.BorderSide.All, 0.1F)); - table.setBorder(new BorderInfo(com.aspose.pdf.BorderSide.All, 1F)); - - Row row1 = table.getRows().add(); - - row1.getCells().add("Book Id"); - row1.getCells().add("Book Name"); - row1.getCells().add("AuthorName"); - row1.getCells().add("Book Cost"); - for (Map book : books) { - String bookId = book.get("BookId").toString(); - String bookName = book.get("BookName").toString(); - String bookAuthorName = book.get("AuthorName").toString(); - String bookCost = book.get("BookCost").toString(); - Row rows = table.getRows().add(); - rows.getCells().add(bookId); - rows.getCells().add(bookName); - rows.getCells().add(bookAuthorName); - rows.getCells().add(bookCost); - } - - pdf1.save(out); - - } catch (Exception e) { - throw new Exception( - "Aspose: Unable to export to pdf format.. some error occured", - e); - - } - } -} diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/BookActions.java b/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/BookActions.java deleted file mode 100644 index 4e50b7d9..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/BookActions.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.books; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionForward; -import org.apache.struts.actions.DispatchAction; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import java.util.List; -import java.util.Map; - -/** - * - * @author Adeel - * - */ - -public class BookActions extends DispatchAction { - public ActionForward AddBook(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) { - System.out.println("Add Book Page"); - return mapping.findForward("addBook"); - } - - public ActionForward EditBook(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) { - System.out.println("Edit Book Page"); - int bookId = Integer.parseInt(request.getParameter("bookId")); - - Books b = Books.getInstance(); - Map bookDet = b.searchBook(bookId); - - // Used form bean class methods to fill the form input elements with - // selected book values. - BookForm bf = (BookForm) form; - bf.setBookName(bookDet.get("BookName").toString()); - bf.setAuthorName(bookDet.get("AuthorName").toString()); - bf.setBookCost((Integer) bookDet.get("BookCost")); - bf.setBookId((Integer) bookDet.get("BookId")); - return mapping.findForward("editBook"); - } - - public ActionForward SaveBook(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) { - System.out.println("Save Book"); - // Used form bean class methods to get the value of form input elements. - BookForm bf = (BookForm) form; - String bookName = bf.getBookName(); - String authorName = bf.getAuthorName(); - int bookCost = bf.getBookCost(); - - Books b = Books.getInstance(); - b.storeBook(bookName, authorName, bookCost); - return new ActionForward("/showbooks.do", true); - } - - public ActionForward UpdateBook(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) { - System.out.println("Update Book"); - BookForm bf = (BookForm) form; - String bookName = bf.getBookName(); - String authorName = bf.getAuthorName(); - int bookCost = bf.getBookCost(); - int bookId = bf.getBookId(); - - Books b = Books.getInstance(); - b.updateBook(bookId, bookName, authorName, bookCost); - return new ActionForward("/showbooks.do", true); - } - - public ActionForward DeleteBook(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) { - System.out.println("Delete Book"); - int bookId = Integer.parseInt(request.getParameter("bookId")); - Books b = Books.getInstance(); - b.deleteBook(bookId); - return new ActionForward("/showbooks.do", true); - } - - /** - * Returns PDF file that can be downloaded locally. - * @see AsposeAPIHelper - */ - public ActionForward ExportToPdf(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) { - System.out.println("Aspose export pdf"); - - Books b = Books.getInstance(); - - List books = b.getBookList(); - response.setContentType("application/pdf"); - response.setHeader("Content-Disposition", - "attachment;filename=AsposeExportBooksList.pdf"); - for (Map book : books) { - try { - AsposeAPIHelper.createAsposePdf(response.getOutputStream(), - books, request.getServletContext()); - } catch (Exception e) { - e.printStackTrace(); - - } - - } - - return null; - } - -} \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/ShowBooks.java b/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/ShowBooks.java deleted file mode 100644 index 0f52ddcc..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/java/com/books/ShowBooks.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.books; - -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionForward; -import org.apache.struts.action.Action; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -public class ShowBooks extends Action { - public ActionForward execute(ActionMapping mapping, ActionForm form, - HttpServletRequest request, HttpServletResponse response) { - System.out.println("Show Books List"); - Books b = Books.getInstance(); - request.setAttribute("booksList", b.getBookList()); - return mapping.findForward("success"); - } -} \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/WEB-INF/struts-config.xml b/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/WEB-INF/struts-config.xml deleted file mode 100644 index 47b41a59..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/WEB-INF/struts-config.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/WEB-INF/web.xml b/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 60f9fb2e..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - StrutsbookApp - - - action - org.apache.struts.action.ActionServlet - - config - /WEB-INF/struts-config.xml - - - validate - true - - 1 - - - - action - *.do - - - - - /jsp/books/index.jsp - - - - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/addbook.jsp b/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/addbook.jsp deleted file mode 100644 index 7fbf5d55..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/addbook.jsp +++ /dev/null @@ -1,37 +0,0 @@ -<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%> - - -

-

- Aspose.Pdf for Java Aspose.Pdf Struts Example - - Simple Book Store App -

-

- Add Book - - - - - - - - - - - - - - -
Book Name
Author Name
Book Cost
-

-

- - - - -
- -

- - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/books.jsp b/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/books.jsp deleted file mode 100644 index ce3b0fb0..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/books.jsp +++ /dev/null @@ -1,94 +0,0 @@ -<%@ page import="java.util.HashMap"%> -<%@ page import="java.util.Map"%> -<%@ page import="java.util.List"%> -<%@ page import="java.util.ArrayList"%> -<%@ page import="java.util.Iterator"%> - - - - - -

-

- Aspose.Pdf for Java Aspose.Pdf Struts Example - - Simple Book Store App -

-

- Available Books -
- - - - - - - - <% - List bookList = (ArrayList) request.getAttribute("booksList"); - Iterator itr = bookList.iterator(); - while (itr.hasNext()) { - Map map = (HashMap) itr.next(); - %> - - - - - - - <% - } - %> -
 Book NameAuthor NameBook Cost
<%=map.get("BookName")%><%=map.get("AuthorName")%><%=map.get("BookCost")%>
-

-

- - - - - - - -
-
- - - - - -
-
-

-

- - - \ No newline at end of file diff --git a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/editbook.jsp b/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/editbook.jsp deleted file mode 100644 index 22c13b6d..00000000 --- a/Plugins/Aspose_Pdf_for_Struts/src/main/webapp/jsp/books/editbook.jsp +++ /dev/null @@ -1,41 +0,0 @@ -<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%> - - -

-

- Aspose.Pdf for Java Aspose.Pdf Struts Example - - Simple Book Store App -

-

- Edit Book - - - - - - - - - - - - - - - - - - -
Book Id
Book Name
Author Name
Book Cost
-

-

- - - - -
- -

- - \ No newline at end of file diff --git a/README.md b/README.md index ea1e696a..f7ae31a9 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,127 @@ -## Aspose.PDF for Java +![GitHub all releases](https://img.shields.io/github/downloads/aspose-pdf/Aspose.pdf-for-Java/total) ![GitHub](https://img.shields.io/github/license/aspose-pdf/Aspose.pdf-for-java) +# Java API to Process & Manipulate PDF Files -This package contains [Examples](https://github.com/asposepdf/Aspose_Pdf_Java/tree/master/Examples) and Showcase projects for [Aspose.PDF for Java](https://products.aspose.com/pdf/java) and will help you write your own applications. +[Aspose.PDF for Java](https://products.aspose.com/pdf/java) is a PDF document creation component that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. -Aspose.PDF for Java is a PDF document creation component that enables your Java applications to read, write and manipulate PDF documents without using Adobe Acrobat. +Directory | Description +--------- | ----------- +[examples/documentation](examples/documentation/) | Runnable Java examples used by Aspose.PDF documentation. +[docs](docs/) | Repository structure and contribution guidance.

- - +

-Directory | Description ---------- | ----------- -[Examples](https://github.com/asposepdf/Aspose_Pdf_Java/tree/master/Examples) | A collection of Java examples that help you learn how to use product features. +## `aspose.pdf` Package Features + +### PDF Document Features + +- Set basic information (e.g. author, creator) of the PDF document. +- Configure PDF Page properties (e.g. width, height, cropbox, bleedbox etc.). +- Set page numbering, bookmark level, page sizes etc. +- Apply document open action, open mode as well as appearance. +- Document can have different page transition effects such as dissolve or box. +- Create PDF documents via `XML`, `API` or `XML` and `API` combined. +- Ability to work with text, paragraphs, headings, hyperlinks, graphs, attachments etc. + +### Security Features + +- PDF documents can be encrypted up to 128 bits. +- Master and user passwords can be set for PDF encryption. +- Apply restrictions on content modification, copying, printing and other operations. + +### Conversion Features + +- Convert an existing XML file (`.XML`) or `XmlDocument` to a new PDF document or a PDF file stream. +- Convert conventional Image formats into PDF file. +- Convert `PCL` files into PDF file. + +For a more comprehensive list of features, please visit [Features of `aspose.pdf` Package](https://docs.aspose.com/pdf/java/features-of-aspose-pdf-package/). + +## `com.aspose.pdf` Package Features + +- Supports 14 core fonts. +- Support for `Type 1`, `TrueType`, `Type 3`, `CJK` fonts. +- `Unicode` support is available. +- Add, search, extract and replace text in PDF files. +- Add/delete, extract and replace images. +- Insert, delete, split PDF pages. +- Support for Linearization (optimization for the web). +- Set and get XMP metadata. +- Validate (`PDF/A-1a`, `PDF/A-1b`). +- Work with bookmarks, annotations, PDF forms, stamps, watermarks and more. + +For a more comprehensive list of features, please visit [Features of `com.aspose.pdf` Package](https://docs.aspose.com/pdf/java/features-of-com-aspose-pdf-package/). + +## `com.aspose.pdf.facades` Package Features + +- Supports 14 core fonts. +- Support for `Type 1`, `TrueType`, `Type 3`, `CJK` fonts. +- `Unicode` support is available. +- Add, replace and extract text & images (from the entire PDF, a particular page, or a range of pages). +- Work with bookmarks, annotations, PDF forms, links, actions, signature and more. +- Print PDF to default, specified, physical, or virtual printer. +- Print PDF to `XPS` file or XPS printer. + +For a more comprehensive list of features, please visit [Features of `com.aspose.pdf.facades` Package](https://docs.aspose.com/pdf/java/features-of-com-aspose-pdf-facades-package/). + +## Read & Write PDF & Other Formats + +**Fixed Layout:** PDF, XPS\ +**Books:** EPUB\ +**Web:** HTML\ +**Other:** TEX, XML, SVG + +## Save PDF Documents As + +**Microsoft Office:** DOC, DOCX, XLS, XLSX, PPTX\ +**Images:** JPEG, PNG, BMP, TIFF, EMF\ +**Other:** MobiXML, XML, TEXT + +## Read Formats + +CGM, MHT, PCL, PS, XSLFO, MD + +## Supported Environments + +- **Microsoft Windows:** Windows Desktop & Server (x86, x64) +- **macOS:** Mac OS X +- **Linux:** Ubuntu, OpenSUSE, CentOS, and others +- **Java Version:** JDK 25 or newer + +## Get Started with Aspose.PDF for Java + +Aspose hosts Java APIs at the [Aspose Java Repository](https://releases.aspose.com/java/repo/). You can use Aspose.PDF for Java directly in Maven projects with simple configuration. For detailed setup instructions, see [Installing Aspose.PDF for Java from Aspose Repository](https://docs.aspose.com/pdf/java/installation/). + +Build all Maven modules from the repository root with: + +```bash +mvn clean compile +``` + +Run one documentation example runner with: + +```bash +cd examples/documentation +mvn -DskipTests exec:java "-Dexec.mainClass=com.aspose.pdf.examples.basicoperations.BasicOperationsExamples" +``` + +## Extract text from a PDF file using Java + +```java +import com.aspose.pdf.Document; +import com.aspose.pdf.TextAbsorber; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; -## Resources +try (Document pdfDocument = new Document("input.pdf")) { + TextAbsorber textAbsorber = new TextAbsorber(); + pdfDocument.getPages().accept(textAbsorber); + Files.writeString(Path.of("Extracted_text.txt"), textAbsorber.getText(), StandardCharsets.UTF_8); +} +``` -+ **Website:** [www.aspose.com](http://www.aspose.com) -+ **Product Home:** [Aspose.PDF for Java](https://products.aspose.com/pdf/java) -+ **Download:** [Download Aspose.PDF for Java](https://artifact.aspose.com/webapp/#/artifacts/browse/tree/General/repo/com/aspose/aspose-pdf) -+ **Documentation:** [Aspose.PDF for Java Documentation](https://docs.aspose.com/display/pdfjava/Home) -+ **Free Support:** [Aspose.PDF for Java Free Support Forum](https://forum.aspose.com/c/pdf) -+ **Paid Support:** [Aspose.PDF for Java Paid Support Forum](https://helpdesk.aspose.com/) -+ **Blog:** [Aspose.PDF for Java Blog](https://blog.aspose.com/category/aspose-products/aspose-pdf-product-family/) +[Product Page](https://products.aspose.com/pdf/java) | [Docs](https://docs.aspose.com/pdf/java/) | [Demos](https://products.aspose.app/pdf/family) | [API Reference](https://apireference.aspose.com/pdf/java) | [Examples](https://github.com/aspose-pdf/Aspose.PDF-for-Java/tree/master/examples/documentation/src/main/java/com/aspose/pdf/examples) | [Blog](https://blog.aspose.com/category/pdf/) | [Search](https://search.aspose.com/) | [Free Support](https://forum.aspose.com/c/pdf) | [Temporary License](https://purchase.aspose.com/temporary-license) diff --git a/artifacts/Aspose.Pdf.xsd b/artifacts/Aspose.Pdf.xsd new file mode 100644 index 00000000..b4732d58 --- /dev/null +++ b/artifacts/Aspose.Pdf.xsd @@ -0,0 +1,5275 @@ + + + + + Config schema for Aspose.Pdf. + Copyright 2002-2009 Aspose Pty Ltd. All rights reserved. + + + + + Represents the Pdf document. + + + + + + + Represents a section in a Pdf document. + + + + + Represents a ListSection in a Pdf. + + + + + Represents a custom watermark of the Pdf. + + + + + Represents a document level attachment. + + + + + Represents a document level JavaScript. + + + + + Represents the XMP metadata to be added into the document. + + + + + + Represents the custom bookmarks to be created in the document. + + + + + + + A bool value that indicates whether the text in the pdf file is hyphenated automatically. + + + + + A string specifies the path of customer's hyphenation dictionary.This attribute must be set and valid when the "IsAutoHyphenated" attribute is set to true,otherwise, the text is hyphenated automatically. + + + + + A float value specifies the width of hyphenation area. Default value is 12 points. This attribute is valid only when the "IsAutoHyphenated" attribute is set to true. + + + + + An integer value specifies the consecutive hyphens limits in a pdf file. Default value is zero that means no limits. This attribute is valid only when the "IsAutoHyphenated" attribute is set to be true. + + + + + + A string that indicates the background color of the pdf.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180".But It can be overloaded by attribute BackgroundColor set in section. + + + + + A string that indicates the default font name. When font name is not set or the font is not found, this font will be used. The default value is "Times-Roman". + + + + + + a bool value that indicates if the document needs to be linearized (optimization for web access) . + + + + + A string that indicates the culture information of the xml. For example, CultureInfo="en-US". + + + + + a bool value that indicates whether the page orientation is landscape. The default is false, which means portrait. + + + + + A float value (culture-neutral format) that indicates the tab stop position. Default value is 36 points (0.5inch). The default unit is point, but cm and inch are also supported. For example, TabStopPosition="2cm" or TabStopPosition="2inch". + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'. This attribute is valid for custom PostScript fonts only. + + + + + An non negative integer that indicates the compression level. It can be between 0 (the least compression) and 9 (the most compression) and the default value is 6. + + + + + A string that indicates the text font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be choosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A bool value that indicates whether the watermarks are on the top of the page. + + + + + A bool value that whether truetype font map be cached on disk. Truetype font map is a font name to font file name map which is used when using unicode. If unicode is used, setting this property to true can make your application run fast. + + + + + A string that indicates the path of the truetype font map file. This attribute is valid only when the "IsTruetypeFontMapCatched" attribute is set to true. + + + + + A bool value that indicates whether images used in XML be deleted when the PDF document is generated. This property is used when integration with Aspose.Word. When converting Word document to PDF,Aspose.Word will save images in Word document as file and add the file name into XML. If this property is set to true,Aspose.Pdf will delete these image files used in XML. + + + + + A bool value that indicates whether the "image not found" error is ignored or not. + + + + + Gets or sets a bool value that indicates whether throw out exception when font is not found. The default value is false. In this case, if user specified font is not found, default font works.. + + + + + A bool value that indicates whether the page number is restarted in new section. + + + + + A bool value that indicates whether total page number is count for whole document. If this property is set to true, the "$P" symbol will be replaced by the total page number of the document. Otherwise "$P" will be replaced with the total page number of all sections that were not restarted ("IsPageNumberRestarted" is set to true). + + + + + A bool value that indicates whether PDF core fonts are used. Default is true. If this property is set to false, PDF core fonts will be ignored and all font will be used as TrueType font. + + + + + A bool value that indicates that indicates whether the error is ignored when unknown elements or attributes are used in xml file. Default is true. + + + + + A bool value that indicates whether whether the text or heading appear in the pdf is right-to-left aligned. If it is true, all the texts and headings will be processed as right-to-left language previously. If text or heading don't contain any right-to-left language character, they will be processed as usual( left-to-right). This attribute is used for right-to-left aligned language such as Arabic and Hebrew. + + + + + A bool value that indicates whether whether that indicates whether the Widow/Orphan control is enabled. Default is true. If it is true, Widow/Orphan control is enabled and Widows/orphans themselves are eliminated (disabled). + + + + + A bool value that indicates whether the text or heading is processed in segment mode. If it is true(default), segment in text will be processed one by one. If false, all segments in text. text will be put together, reorder in Arabic rule. We recommend set it true when rendering rtl and non-rtl mixed texts. + + + + + A bool value that indicates whether allow to adjust fonts automatically. Sometimes, users may assign a font to a Segment paragraph which doesn't support every character appear in the Segment. If it is true(default is false), it will assign proper font to Segment paragraph according to its contents in this case. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. For 8-bit fonts, encoding should be "builtin"(Original encoding used by non-text or non-Latin text fonts) , or "winansi"(Windows code page 1252), or the name of an external encoding("cp1251" for example). The default value is "winansi". + + + + + A bool value that indicates if the font is embedded. + + + + + A string that indicates the text alignment mode. + + + + + + A string that indicates the conformance in the PDF. The default value is PdfConformance.None. + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters. The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words. The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text. For example, "Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the color of the button. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the indent of the first line. + + + + + A bool value that indicates whether the text is spaced or not. + + + + + A float value (culture-neutral format) that indicates the width of the heading label. + + + + + A float value (culture-neutral format) that indicates the spacing between two text lines. The unit is point. + + + + + A string that indicates the destination type. + + + + + A string that indicates the document open type. + + + + + + An integer that indicates the length of the time (ms) until the request times out for the web images. + + + + + + A string that indicates the author of the Pdf document. + + + + + A string that indicates the title of the Pdf document. + + + + + A string that indicates the creator of the Pdf document. + + + + + A string that indicates the producer of the Pdf document. + + + + + A string that indicates key words of the Pdf document. + + + + + A string that indicates the subject of the Pdf document. + + + + + A string that indicates the pdf document page transition type. + + + + + An integer value that indicates the duration in seconds for the current page. This property is only used when using auto advancing in presentation mode. + + + + + Four float number separated by blank that indicates the crop box of the page. + + + + + Four float number separated by blank that indicates the bleed box of the page. + + + + + Four float number separated by blank that indicates the art box of the page. + + + + + Four float number separated by blank that indicates the trim box of the page. + + + + + A bool value that indicates whether the Pdf documents will be 128 bits or 40 bits encrypted. Default is false, 40 bits encrypted. + + + + + A string that indicates the user password used in pdf encryption. + + + + + A string that indicates the master password used in pdf encryption. + + + + + A bool value that indicates whether all permissions are set to allowed as default. Default value is true. If this property is set to false, then all permissions are set to NOT allowed. + + + + + A bool value that indicates whether printing is allowed.To fully disable Pdf documents to be printable both "IsPrintingAllowed" and "IsDegradedPrintingAllowed" should be false. + + + + + A bool value that indicates whether modifying contents is allowed. + + + + + A bool value that indicates whether copying or otherwise extracting text and graphics from the document is allowed. + + + + + A bool value that indicates whether adding or modifying text annotations is allowed. + + + + + A bool value that indicates whether filling in forms and signing the document is allowed. + + + + + A bool value that indicates whether screen readers are allowed. + + + + + A bool value that indicates whether assembling the document is allowed. This includes inserting, rotating, or deleting pages and creating navigation elements such as bookmarks or thumbnail images. + + + + + A bool value that indicates whether printing in low resolution is allowed.To fully disable Pdf documents to be printable both "IsPrintingAllowed" and "IsDegradedPrintingAllowed" should be false. + + + + + A bool value that indicates whether the pdf document is bookmarked .If this property is set to true, Aspose.Pdf will create bookmarks for all the headings in the PDF if the relative property BookMarkLevel is not set. + + + + + A non-negative integer value that indicates how many levels of headings of the pdf document is to be bookmarked. Only when the relative property IsBookmarked is set as true, this property is valid, which specifies the max level of headings to be tagged as bookmarks. + + + + + A string that indicates the page number format type. + + + + + + + + Represents the page border of the section. + + + + + Represents a text paragraph in a Pdf document. + + + + + Represents a graph Paragraph. + + + + + Represents a table Paragraph in a Pdf document. + + + + + Represents a image paragraph. + + + + + Represents a attachment paragraph. + + + + + Represents a formfield paragraph. + + + + + Represents a floating box paragraph. + + + + + Represents a canvas paragraph. + + + + + Represents header of a page in a Pdf document. + + + + + Represents footer of a page in a Pdf document. + + + + + Represents a heading in Pdf document. + + + + + + + A bool value that indicates whether the text in the section is hyphenated automatically. Default value is true. This attribute is valid only when the attribute named "IsAutoHyphenated" in Pdf is set to true. + + + + + + A string that indicates the background color of the section. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180" It overloads the BackgroundColor set in Pdf. + + + + + A float value (culture-neutral format) that indicates the number of columns in each page in the section. + + + + + A string that contains the width of columns in each page in the section. The value of each column should be separated by blank. The default unit is point, but cm and inch are also supported. For example,"120 2.5cm 1.5inch". The max column number is 16. If this property is not set, column width will be calculated automatically according to column count and column spacing. + + + + + A string that contains the spacing between columns in each page in the section. The value of each spacing should be separated by blank.The default unit is point,but cm and inch are also supported.For example,"120 2.5cm 1.5inch". If this property is not set, default value 20 points will be used for each spacing. + + + + + A string that indicates the vertical line between columns need to been added. + + + + + An integer value that indicates the number of degrees by which the page should be rotated clockwise when displayed or printed. The value must be a multiple of 90. Default value is 0. + + + + + A float value (culture-neutral format) that indicates the page size. The default unit is point,but cm and inch are also supported. For example, PageWidth="20cm" or PageWidth="5inch". + + + + + A float value (culture-neutral format) that indicates the page width. The default unit is point, but cm and inch are also supported. For example, PageWidth="20cm" or PageWidth="5inch". + + + + + A float value (culture-neutral format) that indicates the page height. + + + + + + A float value (culture-neutral format) that indicates the page gutter size. + + + + + A string value (culture-neutral format) that indicates the page gutter placement type. It can be set to right,left,top,inner,outer and none. The default is none. + + + + + A float value (culture-neutral format) that indicates the page top margin. The default unit is point,but cm and inch are also supported. For example, PageMarginTop="2cm" or PageMarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the page bottom margin. The default unit is point,but cm and inch are also supported. For example, PageMarginBottom="2cm" or PageMarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the page left margin. The default unit is point, but cm and inch are also supported. For example, +PageMarginLeft="2cm" or PageMarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the page right margin. The default unit is point,but cm and inch are also supported. For example, PageMarginRight="2cm" or PageMarginRight="2inch". + + + + + A float value (culture-neutral format) that indicates the page inner margin. In case of mirror margins we can use PageMarginInner and PageMarginOuter instead of PageMarginLeft and PageMarginRight.The default unit is point,but cm and inch are also supported. For example, PageMarginInner="2cm" or PageMarginInner="2inch". + + + + + A float value (culture-neutral format) that indicates the page outer margin. In case of mirror margins we can use PageMarginInner and PageMarginOuter instead of PageMarginLeft and PageMarginRight.The default unit is point,but cm and inch are also supported. For example, PageMarginInner="2cm" or PageMarginInner="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the left page border and the left page edge on even page or between the right page border and the right page edge on odd page. In case of mirror margins we can use PageBorderMarginInner and PageBorderMarginOuter instead of PageBorderMarginLeft and PageBorderMarginRight. The default value is 0. The default unit is point, but cm and inch are also supported. For example, PageBorderMarginInner="2cm" or PageBorderMarginInner="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the right page border and the right page edge on even page or between the left page border and the left page edge on odd page. In case of mirror margins we can use PageBorderMarginInner and PageBorderMarginOuter instead of PageBorderMarginLeft and PageBorderMarginRight. The default value is 0. The default unit is point, but cm and inch are also supported. For example, PageBorderMarginOuter="2cm" or PageBorderMarginOuter="2inch". + + + + + + A float value (culture-neutral format) that indicates the margin between the top page border and the top page edge.The default value is half of the page top margin. The default unit is point, but cm and inch are also supported. For example, PageBorderMarginTop="2cm" or PageBorderMarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the bottom page border and the bottom page edge. The default value is half of the page bottom margin. The default unit is point, but cm and inch are also supported. For example, PageBorderMarginBottom="2cm" or PageBorderMarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the left page border and the left page edge.The default value is half of the page left margin. The default unit is point,but cm and inch are also supported. For example, PageBorderMarginLeft="2cm" or PageBorderMarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the right page border and the right page edge. The default value is half of the page right margin. The default unit is point,but cm and inch are also supported. For example, PageBorderMarginRight="2cm" or PageBorderMarginRight="2inch". + + + + + A string that indicates the text font name.When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be choosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A bool value that indicates whether this section is disabled. The default value is false. If this property is set to true, this section will not be rendered. + + + + + A bool value that indicates whether the page number be restarted at this section. + + + + + A bool value that indicates whether whether that indicates whether the Widow/Orphan control is enabled. Default is true.If it is true, Widow/Orphan control is enabled and Widows/orphans themselves are eliminated (disabled). + + + + + A bool value that indicates the starting page number of the section. Default is 1. + + + + + A bool value that indicates whether the section starts at new column.Default is true. If this property is set to false, please make sure the section has the same column setting as the former section. + + + + + A bool value that indicates whether this section starts a new page. The default value is true. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A string that indicates the text alignment mode. + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters.The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words.The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the color of the graph. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the line width of the graph. + + + + + Two Float values separated by blank that indicates line dash in graph. + + + + + An int value that indicates the indent of the first line. + + + + + A bool value that indicates whether the text is spaced or not. + + + + + A string that indicates the ID of the section. + + + + + A float value (culture-neutral format) that indicates the spacing between two text lines.The unit is point. + + + + + A string that indicates the background image file name. + + + + + A string that indicates the type of the background image. + + + + + A float value (culture-neutral format) that indicates the fixed width of the background image. If this property is not set, the real image size will be used as page size. + + + + + Gets or sets a bool value that indicates whether the background image is forced to be black-and-white. If black-and-white TIFF image of CCITT subformat is used, this property must be set to true. + + + + + a bool value that indicates whether the page orientation is landscape. The default is false, which means portrait. + + + + + + + + Represents a text paragraph. + + + + + Represents a graph paragraph. + + + + + Represents a image paragraph. + + + + + Represents a table paragraph. + + + + + Represents a formfield paragraph. + + + + + Represents a floating box paragraph. + + + + + Represents a canvas paragraph. + + + + + + A string that indicates the type of the HeadFooter. It can be "odd" or "even". If this attribute is not set, the HeadFooter will appear in both odd and even page. + + + + + A float value (culture-neutral format) that indicates the distance from the header or footer's edge. The default unit is point, but cm and inch are also supported. For example, DistanceFromEdge="2cm" or DistanceFromEdge="2inch". + + + + + A float value (culture-neutral format) that indicates the bottom margin of the header or footer.The default unit is point,but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the bottom margin of the header or footer.The default unit is point,but cm and inch are also supported. For example, MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the left margin of the header or footer.The default unit is point,but cm and inch are also supported. For example, MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the right margin of the header or footer.The default unit is point, but cm and inch are also supported. For example, MarginRight="2cm" or MarginRight="2inch". + + + + + A string that indicates the text font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A bool value that indicates whether the header or footer be printed on first page only. The default value is false. If this property is set to true, the IsSubsequentPagesOnly property should be false. + + + + + A bool value that indicates whether the header or footer be printed on last page only. The default value is false. + + + + + A bool value that indicates whether the header or footer be printed not on first page but on subsequent pages only. The default value is false. If this property is set to true, the IsFirstPageOnly property should be false. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A string that indicates the text alignment mode. + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters. The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words. The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the color of the graph. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the line width of the graph. + + + + + Float values separated by blank that indicates line dash in graph. The values number of ploydash should be less than 8. + + + + + + + A float value (culture-neutral format) that indicates tab stop position. + + + + + A string that indicates the custom tab leader type. + + + + + A string that indicates the custom tab alignment type. + + + + + + + + Represents the tab stop positions in this paragraph. + + + + + + + + + Represents the text borders. + + + + + Represents the tab stop positions in this paragraph. + + + + + Represents a segment in a Text paragraph. + + + + + + + + A float value (culture-neutral format) between 0.0 and 1.0 that indicates the opacity of the text. The default value is 1.0. + + + + + + + + + Gets or sets a bool value that indicates whether the text need to be repeated when the pdf is broken across pages. Default value is false. The attribute is only valid when the text itself and the object its ReferenceParagraphID referred to both are included in RepeatingRows. + + + + + + + + A bool value that indicates whether the text is hyphenated automatically. Default value is true. This attribute is valid only when the attribute named "IsAutoHyphenated" in Pdf and in Section both are set to true. + + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A bool value that indicates whether the chars in right-to-left aligned. This attribute is used for right-to-left aligned language such as Arabic and Hebrew. + + + + + A bool value that indicates whether whether that indicates whether the Widow/Orphan control is enabled. Default is true.If it is true, Widow/Orphan control is enabled and Widows/orphans themselves are eliminated (disabled). + + + + + A bool value that indicates whether the HTML tags in text is supported. Default is false. + + + + + A float value (culture-neutral format) that indicates the width of text paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A string that indicates the text font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A bool value that indicates whether this paragraph is disabled. The default value is false. If this property is set to true, this paragraph will not be rendered. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'. +This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A string that indicates the text alignment mode. It can be "Left","Center","Right","Justify" or "FullJustify". + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A bool value that indicates whether the text is aligned by word. + + + + + A float value (culture-neutral format) that indicates space between characters. The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words. The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the background color of the text. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the paragraph top margin. The default unit is point, but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin. The default unit is point, but cm and inch are also supported. For example, MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin. The default unit is point, but cm and inch are also supported. For example, MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin. The default unit is point, but cm and inch are also supported. For example, MarginRight="2cm" or MarginRight="2inch". + + + + + An integer value that indicates the indent of the first line. + + + + + A bool value that indicates whether the text is spaced or not. + + + + + A string that indicates the ID of the paragraph. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a page. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a column. + + + + + A bool value that indicates whether all lines in the paragraph are to remain on the same page. Default is false. This property only affects paragraphs in section (but ont in table). + + + + + A bool value that indicates whether current paragraph remains in the same page along with next paragraph. + + + + + A bool value that indicates whether this paragraph be shown in odd page only. This property used for duplex Printing. If you want to print a paragraph in a new odd page in duplex Printing,you can set "IsFirstParagraph = true" and "IsOnOddPage = true". + + + + + A float value (culture-neutral format) that indicates the spacing between two text lines. The unit is point. + + + + + A float value (culture-neutral format) that indicates the number of degrees by which the text should be rotated anticlockwise when displayed or printed. Default value is 0. + + + + + A non-negative integer number that indicates the index of the inline radiobutton that has been checked. + + + + + A string that indicates the name of inlineRadioButton's the field. When use inlineRadioButton,this must be set a unique name. + + + + + A string that indicates the color of the inline radio button background. Only RGB color is supported. The string can be the name of the color or the RGB value. R,G and B should be a value between 0 and 255. For example "Red" or "255 0 0". + + + + + A string that indicates the color of the inline radio button. Only RGB color is supported. The string can be the name of the color or the RGB value. R,G and B should be a value between 0 and 255. For example "Red" or "255 0 0". + + + + + + + + Represents the text borders. + + + + + Represents a segment in a heading paragraph. + + + + + Represents the tab stop positions in this paragraph. + + + + + Represents an image that is used as label. If ImageLabel is not null, the ImageLabel substitutes for number heading. The size of the ImageLabel will be adjusted following the Segment.TextInfo.FontSize. + + + + + + + + Gets or sets a bool value that indicates whether the heading need to be repeated when the pdf is broken across pages. Default value is false. The attribute is only valid when the heading itself and the object its ReferenceParagraphID referred to both are included in RepeatingRows. + + + + + + + + A bool value that indicates whether the text in the heading is hyphenated automatically.Default value is true. This attribute is valid only when the attribute named "IsAutoHyphenated" in Pdf and in Section both are set to true. + + + + + + A bool value that indicates whether the chars in right-to-left aligned. This attribute is used for right-to-left aligned language such as Arabic and Hebrew. + + + + + A bool value that indicates whether whether that indicates whether the Widow/Orphan control is enabled. Default is true. If it is true, Widow/Orphan control is enabled and Widows/orphans themselves are eliminated (disabled). + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A float value (culture-neutral format) that indicates the spacing between two text lines. The unit is point. + + + + + A float value (culture-neutral format) that indicates the width of text paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + An integer value that indicates the level of the heading. + + + + + Gets or sets an integer number that indicates the start number of this heading when using auto numbering. + + + + + A float value (culture-neutral format) that indicates the width of the label of the heading. The default unit is point, but cm and inch are also supported. For example, LabelWidth="2cm" or LabelWidth="2inch". + + + + + A string that indicates the number style of the heading. + + + + + A string that indicates the caption label. Set this property to 'bullet1','bullet2'...'bullet7' to use system-defined bullet. To use user defined lebel, set the BulletFontName to "Symbol" or "ZapfDingbats" and set this property to the char value of the bullet symbol. For example, UserLabel="44" and BulletFontName="ZapfDingbats". + + + + + A string that indicates the heading pattern in the "ch(s)%ch(s)" form, ch(s) can be none ,an ASCII or a combination of ASCIIs, % stands for the heading number. For example, "(%)" means "(1.1)" if here % equals 1.1. + + + + + A string that indicates the font name for bullet. "Symbol" and "ZapfDingbats" are supported. + + + + + A string that indicates the alignment type of Bullet/Label. Default value is Left. + + + + + A string that indicates the color of the Bullet/Label. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the alignment type of Bullet/Label. Default value is Left. + + + + + A string that indicates the color of the Bullet/Label. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A bool value that indicates whether the bullet is bold. Default is false. + + + + + A bool value that indicates whether the bullet is italic. Default is false. + + + + + A bool value that indicates whether the label is underline. Default is false. + + + + + A string that indicates the font name of the label. + + + + + A float value (culture-neutral format) that indicates the font size of label. + + + + + A bool value that indicates whether the font for bullet/Label is unicode. + + + + + A bool value that indicates whether the font for bullet/Label is unicode. + + + + + A string that indicates the truetype font file name for the bullet. This attribute is only needed when using truetype font with unicode. If your truetype font has been installed in your system, you can use truetype font with unicode without this property. But using this property will greatly improve the performance. + + + + + + A bool value that indicates whether this paragraph is disabled. The default value is false. If this property is set to true, this paragraph will not be rendered. + + + + + A bool value that indicates whether the number of the heading is in an automatical sequence. + + + + + Gets or sets a bool value that indicates if the prefix of the number is shown when using auto sequence. For example, for a label "1.2.5", if this property is set to false, the label will be "5". + + + + + A string that indicates the text font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font with unicode. If your truetype font has been installed in your system, you can use truetype font with unicode without this property. But using this property will greatly improve the performance. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A string that indicates the text alignment mode. + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters. The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words. The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + An integer value that indicates the Z-order of the text. A text with larger ZIndex will be placed over paragraphs with smaller ZIndex. ZIndex can be negative. Text with negative ZIndex will be placed behind the text in the page. + + + + + A string that indicates the background color of the heading. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the paragraph top margin.The default unit is point, but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin. The default unit is point, but cm and inch are also supported. For example, MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin.The default unit is point, but cm and inch are also supported. For example, MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin. The default unit is point, but cm and inch are also supported. For example, MarginRight="2cm" or MarginRight="2inch". + + + + + An integer value that indicates the indent of the first line. + + + + + A bool value that indicates whether the text is spaced or not. + + + + + A string that indicates the ID of the paragraph. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a page. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a column. + + + + + A bool value that indicates whether all lines in the paragraph are to remain on the same page. Default is false. This property only affects paragraphs in section (but ont in table). + + + + + A bool value that indicates whether current paragraph remains in the same page along with next paragraph. + + + + + A bool value that indicates whether this paragraph be shown in odd page only. This property used for duplex Printing. If you want to print a paragraph in a new odd page in duplex Printing, you can set "IsFirstParagraph = true" and "IsOnOddPage = true". + + + + + A bool value indicates whether the heading is added to the Table of Contents. + + + + + + + + Represents the graph borders. + + + + + Represents a line shape in a graph. + + + + + Represents a rectangle shape in a graph. + + + + + Represents a ellipse shape in a graph. + + + + + Represents a circle shape in a graph. + + + + + Represents a arc shape in a graph. + + + + + Represents a curve shape in a graph. + + + + + Represents the graph title. + + + + + Represents a note in a graph. + + + + + + + + Gets or sets a bool value that indicates whether the graph need to be repeated when the pdf is broken across pages. Default value is false. The attribute is only valid when the graph itself and the object its ReferenceParagraphID referred to both are included in RepeatingRows. + + + + + + + A int value that indicates the Z-order of the graph. A graph with larger ZIndex will be placed over the graph with smaller ZIndex. ZIndex can be negative. Graph with negative ZIndex will be placed behind the text in the page. + + + + + A float value (culture-neutral format) that indicates the graph width. The default unit is point, but cm and inch are also supported. For example, GraphWidth="10cm" or GraphWidth="5inch". + + + + + A float value (culture-neutral format) that indicates the graph height. The default unit is point, but cm and inch are also supported. For example, GraphWidth="10cm" or GraphWidth="5inch". + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge.The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A float value (culture-neutral format) that indicates the paragraph top margin.The default unit is point, but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin.The default unit is point, but cm and inch are also supported. For example, MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin. The default unit is point, but cm and inch are also supported. For example, MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin. The default unit is point, but cm and inch are also supported. For example, MarginRight="2cm" or MarginRight="2inch". + + + + + A string that indicates the text alignment mode. + + + + + A float value (culture-neutral format) that indicates the line width of the graph. + + + + + A string that indicates the color of the graph. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A bool value that indicates whether this paragraph is disabled. The default value is false. If this property is set to true, this paragraph will not be rendered. + + + + + A string that indicates the fill color of the graph. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + An integer value between 0 and 2 that indicates the line join mode. + + + + + An integer value between 0 and 2 that indicates the line cap mode. + + + + + A positive integer value that indicates the flatness. + + + + + An integer value greater than or equal to 1 that indicates the miter limit. + + + + + Two float value separated by blank that indicates the coordinate of the new origin when transforming a coordinate system. + + + + + Two float value separated by blank that indicates the scale rate in x and y coordinate. + + + + + Two float value separated by blank that indicates the skew angle in x and y coordinate. The unit is degree. + + + + + A float value (culture-neutral format) that indicates the rotation angle of the coordinate system when transforming a coordinate system. The unit is degree. + + + + + A string that indicates the graph fill rule. It can be "winding" or "evenodd". + + + + + A string that indicates the ID of the section. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a page. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a column. + + + + + A bool value that indicates whether all lines in the paragraph are to remain on the same page. Default is false. This property only affects paragraphs in section (but ont in table). + + + + + A bool value that indicates whether current paragraph remains in the same page along with next paragraph. + + + + + A bool value that indicates whether this paragraph be shown in odd page only. This property used for duplex Printing. If you want to print a paragraph in a new odd page in duplex Printing,you can set "IsFirstParagraph = true" and "IsOnOddPage = true". + + + + + A string that indicates the hyperlink type. + + + + + A string that indicates the link target ID. + + + + + A string that indicates the link file name. + + + + + An integer value that indicates the page number of the link page. + + + + + A string that indicates the link url. + + + + + A string that indicates the link destination type. It can be "Retain","FitPage","FitWidth","FitHeight","FitBox". + + + + + A bool value indicates whether the graph is added to List of Figures. + + + + + A string that indicates the menu item type when setting ExcuteMenuItem link actions. If there are more than one actions, separate them by a blank like 'ViewZoomFitWidth ViewGoToPage'. + + + + + A string that indicates the web URL when setting OpenWebLink link actions. + + + + + A string that indicates the file name when setting OpenFile link actions. + + + + + + + + + Represent a row in a table. + + + + + Represents the border of the table. + + + + + Represents the default cell border of the table. + + + + + + A string that indicates which type of reporting service items is mapped to this table. + + + + + Represents the default column width in the table. The default unit is point, but cm and inch are also supported. For example,FitWidth="2cm" or FitWidth="2inch". + + + + + + + Gets or sets a bool value that indicates whether the table need to be repeated when the pdf is broken across pages. Default value is false. The attribute is only valid when the table itself and the object its ReferenceParagraphID referred to both are included in RepeatingRows. + + + + + + + A string that indicates the vertical alignment type of all paragraphs in the cell of this table. + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A string that indicates adjustment types for determining the column widths of table. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A float value (culture-neutral format) that indicates the paragraph top margin.The default unit is point, but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin. The default unit is point, but cm and inch are also supported. For example, MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin.The default unit is point, but cm and inch are also supported. For example,MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin.The default unit is point,but cm and inch are also supported. For example,MarginRight="2cm" or MarginRight="2inch". + + + + + A bool value that indicates whether this table is disabled. The default value is false. If this property is set to true, this table will not be rendered. + + + + + A bool value that indicates whether table with only a header(IsFirstRowRepeated=true and Rows. Count=1) be shown. The default value is true. + + + + + A bool value that indicates if the empty row at the bottom of the table be shown in the PDF. When a table is larger and can't be display in one page, the table will be split into more tables. Sometimes the broken table has a empty row at the bottom. This property is used to control the displaying of the empty row. The default value is false. + + + + + A float value (culture-neutral format) that indicates the default cell top padding. The default unit is point, but cm and inch are also supported. For example,DefaultCellPaddingTop="2cm" or DefaultCellPaddingTop="2inch". + + + + + A float value (culture-neutral format) that indicates the default cell bottom padding. The default unit is point, but cm and inch are also supported. For example, DefaultCellPaddingBottom="2cm" or DefaultCellPaddingBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the default cell left padding.The default unit is point, but cm and inch are also supported. For example,DefaultCellPaddingLeft="2cm" or DefaultCellPaddingLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the default cell right padding. The default unit is point, but cm and inch are also supported. For example,DefaultCellPaddingRight="2cm" or DefaultCellPaddingRight="2inch". + + + + + A string that indicates the default text font name in cells. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode in cells. + + + + + A string that indicates the default truetype font file name in cells. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the default name of custom AFM font file in cells. + + + + + A string that indicates the default name of custom PFM font file in cells. + + + + + A string that indicates the default name of custom font outline file in cells. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the default name of font encoding file in cells. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold in cells. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic in cells. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the default size of font in cells. + + + + + A string that indicates the default font encoding name in cells. + + + + + A bool value that indicates if the font is embedded in cells. + + + + + A string that indicates the default text alignment mode in cells. It can be "Left","Center","Right","Justify" or "FullJustify". + + + + + A bool value that indicates whether the text is with underline in cells. + + + + + A bool value that indicates whether the text is with overline in cells. + + + + + A bool value that indicates whether the text is with strikeout in cells. + + + + + A float value (culture-neutral format) that indicates default space between charcters in cells. The unit is point. + + + + + A float value (culture-neutral format) that indicates default space between words in cells. The unit is point. + + + + + An string that indicates the default rendering mode of the text in cells. + + + + + A string that indicates the default color of the text in cells. For example, "Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the default background color of the text in cells. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the default spacing between two text lines in cells. The unit is point. + + + + + A string that indicates the paragraph alignment mode. + + + + + A string that indicates the ID of the paragraph. + + + + + A string that contains the width of each columns in this table. The value of each column should be separated by blank. The default unit is point, but cm and inch are also supported. For example,"120 2.5cm 1.5inch". The max column number is 128. If this property is set, the FitWidth property of the Cell object needs not set. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a page. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a column. + + + + + A bool value that indicates whether all lines in the paragraph are to remain on the same page. Default is false. This property only affects paragraphs in section (but ont in table). + + + + + A bool value that indicates whether current paragraph remains in the same page along with next paragraph. + + + + + A bool value that indicates whether this paragraph be shown in odd page only. This property used for duplex Printing. If you want to print a paragraph in a new odd page in duplex Printing,you can set "IsFirstParagraph = true" and "IsOnOddPage = true". + + + + + A bool value that indicates whether the row can be broken or not when its table is broken. + + + + + A bool value that indicates whether the table can be broken or not when it span pages. + + + + + A bool value that indicates whether the first row of table be repeated when table break. + + + + + An int value that indicates how many rows from the first row will be repeated when the table is broken across pages. + + + + + A bool value indicates whether the table is added to List of Tables. + + + + + + + + Represents the border of the row. + + + + + Represents a cell in a row of table. + + + + + + Represents the default cell border of the row. + + + + + + A bool value that indicates whether to split the table from this row and display the subsequent rows on the next page. + + + + + A string that indicates the background color of the row.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180" + + + + + A string that indicates the vertical alignment type of all paragraphs in the cell of this row. It can be "Top", "Center" or "Bottom". + + + + + A float value (culture-neutral format) that indicates the fixed row height. If the fixed row height is set too small, it will be enlarged automatically. The default unit is point, but cm and inch are also supported. For example,FixedRowHeight="2cm" or FixedRowHeight="2inch". + + + + + A float value (culture-neutral format) that indicates the row height. The default unit is point, but cm and inch are also supported. For example,FixedRowHeight="2cm" or FixedRowHeight="2inch". + + + + + A bool value that indicates whether the row's height is fixed. The default value is false. It will be enlarged automatically if the fixed row height is set too small. Otherwise(true), the row's height is fixed and text exceed the height will be cut. + + + + + A bool value that indicates whether this row is disabled. The default value is false. If this property is set to true, this row will not be rendered. + + + + + A string that indicates the row alignment mode. + + + + + A string that indicates the ID of the row. + + + + + A bool value that indicates whether the row can be broken or not when it span pages. + + + + + + + + Represents the border of the cell. + + + + + Represents a text paragraph. + + + + + Represents a graph paragraph. + + + + + Represents a image paragraph. + + + + + Represents a attachment paragraph. + + + + + Represents a formfield paragraph. + + + + + Represents a table paragraph. + + + + + Represents a heading paragraph. + + + + + Represents a canvas paragraph. + + + + + Represents a floating box paragraph. + + + + + + A float value (culture-neutral format) that indicates the rotation angle of the texts in cells. The unit is degree. + + + + + A string that indicates the cell alignment mode. + + + + + A string that indicates the vertical alignment type of all paragraphs in the cell. It can be "Top","Center" or "Bottom". + + + + + A float value (culture-neutral format) that indicates the top padding of the cell.The default unit is point, but cm and inch are also supported. For example, PaddingTop="2cm" or PaddingTop="2inch". + + + + + A float value (culture-neutral format) that indicates the bottom padding of the cell.The default unit is point, but cm and inch are also supported. For example, PaddingBottom="2cm" or PaddingBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the left padding of the cell.The default unit is point, but cm and inch are also supported. For example,PaddingLeft="2cm" or PaddingLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the right padding of the cell.The default unit is point, but cm and inch are also supported. For example, PaddingRight="2cm" or PaddingRight="2inch". + + + + + Obsolete. Please use Table.ColumnWidths instead. A float value (culture-neutral format) that indicates the fit width of the cell. The default unit is point, but cm and inch are also supported. For example, FitWidth="2cm" or FitWidth="2inch". + + + + + A string that indicates the background color of the cell.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180" + + + + + A string that indicates the ID of the cell. + + + + + An integer value that indicates how many columns the cell spans. + + + + + An integer value that indicates how many rows the cell spans. + + + + + + + + Represents the left border. + + + + + Represents the top border. + + + + + Represents the right border. + + + + + Represents the bottom border. + + + + + Represents all borders.It has the same meaning when using "Box" and will be replaced by "Box" one year later. So, please use "Box" if possible. + + + + + Represents all borders. + + + + + + + + A float value (culture-neutral format) that indicates the line width of the border. + + + + + A string that indicates the color of the border. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + Two Float values separated by blank that indicates line dash in graph. + + + + + Float values separated by blank that indicates line dash of border. The values number of ploydash should be less than 8. + + + + + A string that indicates the border style. It can be "Normal" or "Double". More styles will be supported later. + + + + + An integer value between 0 and 2 that indicates the line cap mode of the border. + + + + + + + A string that indicates the ID of the JavaScript. + + + + + + + + Represents the borders of the segment. + + + + + Represents a image paragraph. + + + + + Represents a graph Paragraph. + + + + + Represents a formfield paragraph. + + + + + Represents a RadioButton paragraph. + + + + + Represents a attachment paragraph. + + + + + Represents the footnote of the previous segment. + + + + + Represents the endnote of the previous segment. + + + + + + + A bool value that indicates whether the text in the segment is hyphenated automatically. Default value is true. This attribute is valid only when the attribute named "IsAutoHyphenated" in Pdf, in Section and in Text are set to true. + + + + + + A string that indicates the text font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A bool value that indicates whether the chars in right-to-left aligned. This attribute is used for right-to-left aligned language such as Arabic and Hebrew. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'. +This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A bool value that indicates whether the text is baseline. + + + + + A float value (culture-neutral format) that indicates space between characters. The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words. The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the background color of the segment.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the date format of the replaceable date symbol($D).It's value can be "d", "D", "f", "F","g", "G","m","r","s","t", "T","u", "U","y","dddd, MMMM dd yyyy","ddd, MMM d \"'\"yy","dddd, MMMM dd","M/yy","dd-MM-yy". The default value is "d". Please refer to example of DateTime.ToString() in MSDN. + + + + + A bool value that indicates whether a symbol like $p is replaceable or not. + + + + + A string that indicates the hyperlink type. + + + + + A string that indicates the link target ID. + + + + + A string that indicates the link file name. + + + + + An integer value that indicates the page number of the link page. + + + + + A string that indicates the link url. + + + + + A string that indicates the link destination type. It can be "Retain","FitPage","FitWidth","FitHeight","FitBox". + + + + + A string that indicates the ID of the paragraph. + + + + + A bool value that indicates whether Roman number is used. The default value is false which means Arabic number. + + + + + a bool value that indicates the Roman page number is Capital or lowercase, the default value is false which means lowercase. + + + + + A string that indicates the menu item type when setting ExcuteMenuItem link actions. If there are more than one actions, separate them by a blank like 'ViewZoomFitWidth ViewGoToPage'. + + + + + A string that indicates the web URL when setting OpenWebLink link actions. + + + + + A string that indicates the file name when setting OpenFile link actions. + + + + + + + + Float numbers separated by blank that indicates the coordinates of the line end points. + + + + + A float value (culture-neutral format) that indicates the line width. + + + + + An integer value between 0 and 2 that indicates the line join mode. + + + + + An integer value between 0 and 2 that indicates the line cap mode. + + + + + A string that indicates the color of the line. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + + + + Two Float values separated by blank that indicates line dash in graph. + + + + + Float values separated by blank that indicates line dash in graph. The values number of ploydash should be less than 8. + + + + + A string that indicates the ID of the line. + + + + + A bool value indicates whether add arrow at the start of line. + + + + + A bool value indicates whether add arrow at the end of line. + + + + + + + Four float numbers separated by blank that indicates the left, bottom, width and height of the rectangle. + + + + + A float value (culture-neutral format) that indicates the line width. + + + + + A float value (culture-neutral format) that indicates the radius for the round corner. + + + + + A string that indicates the color of the line. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + Two Float values separated by blank that indicates line dash. + + + + + Float values separated by blank that indicates line dash in graph. The values number of ploydash should be less than 8. + + + + + A string that indicates the fill color of the rectangle. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A bool value that indicates whether the rectangle be filled. + + + + + A string that indicates the graph fill rule. It can be "winding" or "evenodd". + + + + + A string that indicates the ID of the rectangle. + + + + + + + Two float numbers separated by blank that indicates the coordinates of the center position of the circle. + + + + + A float value (culture-neutral format) that indicates the line width. + + + + + A float value (culture-neutral format) that indicates the radius of the circle. + + + + + A string that indicates the color of the circle. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + Two Float values separated by blank that indicates line dash in graph. + + + + + Float values separated by blank that indicates line dash in graph. The values number of ploydash should be less than 8. + + + + + A string that indicates the fill color of the circle. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A bool value that indicates whether the circle be filled. + + + + + A string that indicates the graph fill rule. It can be "winding" or "evenodd". + + + + + A string that indicates the ID of the circle. + + + + + + + Two float numbers separated by blank that indicates the coordinates of the center position of the arc. + + + + + A float value (culture-neutral format) that indicates the line width. + + + + + A float value (culture-neutral format) that indicates the radius of the arc. + + + + + A string that indicates the color of the arc. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + Two Float values separated by blank that indicates line dash in graph. + + + + + Float values separated by blank that indicates line dash in graph. The values number of ploydash should be less than 8. + + + + + A float value (culture-neutral format) that indicates the beginning angle degree of the arc. + + + + + A float value (culture-neutral format) that indicates the ending angle degree of the arc. + + + + + A string that indicates the ID of the arc. + + + + + + + Float numbers separated by blank that indicates the coordinates of the curve control points. + + + + + A float value (culture-neutral format) that indicates the line width. + + + + + A string that indicates the color of the curve. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + Two Float values separated by blank that indicates line dash in graph. + + + + + Float values separated by blank that indicates line dash in graph. The values number of ploydash should be less than 8. + + + + + A string that indicates the ID of the curve. + + + + + + + A string that indicates the text font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters. The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words. The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64", "gray 180". + + + + + + + A string that indicates the text font name. +When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A bool value that indicates whether the text is with underline. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters.The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words.The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the color of the text. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + Two float numbers separated by blank that indicates the coordinates of the position of the note. + + + + + + + + Represents the image borders. + + + + + Represents the title of the image. + + + + + Represents a note of the image. + + + + + Represents a Base64 string that indicatesthe image data. + + + + + + + + Gets or sets a bool value that indicates whether the image need to be repeated when the pdf is broken across pages. Default value is false. The attribute is only valid when the image itself and the object its ReferenceParagraphID referred to both are included in RepeatingRows. + + + + + + + A float value (culture-neutral format) between 0.0 and 1.0 that indicates the opacity of the image. The default value is 1.0. + + + + + A float value (culture-neutral format) between -90 and 90 that indicates the number of degrees by which the image should be rotated anticlockwise when displayed or printed. Default value is 0. + + + + + A int value that indicates the Z-order of the image. A image with larger ZIndex will be placed over the image with smaller ZIndex. ZIndex can be negative. Image with negative ZIndex will be placed behind the text in the page. + + + + + A float value (culture-neutral format) that indicates the image width. This property is need when using CCITT fax image or image on the web. NOTE: This attribute is now obsolete. Web image can be supported by setting the URL in Image.ImageInfo.File.You need not set this property any more. For CCITT image, please use ImageInfo.CcittImageWidth instead. It will be removed 12 months later since release 3.0.0.0 in April 2006. Aspose apologizes for any inconvenience you may have experienced. + + + + + A float value (culture-neutral format) that indicates the image height.This property is need when using CCITT fax image or image on the web. NOTE: This attribute is now obsolete. Web image can be supported by setting the URL in Image.ImageInfo.File. You need not set this property any more. For CCITT image, please use ImageInfo.CcittImageWidth instead. It will be removed 12 months later since release 3.0.0.0 in April 2006. Aspose apologizes for any inconvenience you may have experienced. + + + + + A float value (culture-neutral format) that indicates the CCITT image width. CCITT image does not contain size information so the width and height must be set by user. + + + + + A float value (culture-neutral format) that indicates the CCITT image height. CCITT image does not contain size information so the width and height must be set by user. + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + Gets or sets a float value that indicates the fixed width of the image. If this property is set, the image will be scaled to the fixed width. + + + + + Gets or sets a float value that indicates the fixed height of the image. If this property is set, the image will be scaled to the fixed width. + + + + + A float value (culture-neutral format) that indicates the paragraph top margin.The default unit is point,but cm and inch are also supported. For example,MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin.The default unit is point, but cm and inch are also supported. For example,MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin. The default unit is point, but cm and inch are also supported. For example,MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin. The default unit is point, but cm and inch are also supported. For example,MarginRight="2cm" or MarginRight="2inch". + + + + + A string that indicates the paragraph alignment mode. + + + + + A bool value that indicates whether this paragraph is disabled. The default value is false. If this property is set to true, this paragraph will not be rendered. + + + + + A string that indicates the image file name and its path or url of a web image. + + + + + A string that indicates the default image file name. If this name is not null, Aspose.Pdf will use this image file when the image specified in File property is not found. + + + + + A string that indicates the subformat of CCITT image. It is used for CCITT image only. The value can be Group31D,Group32D and Group4 + + + + + Gets or sets a bool value that indicates whether the image is forced to be black-and-white. If TIFF image of CCITT subformat is used, this property must be set to true. + + + + + A bool value that indicates whether the "image not found" error be ignored or not. + + + + + A bool value that indicates whether black is considered as 1 in an image. + + + + + A string that indicates the image type. + + + + + A string that indicates the image open type. + + + + + An int value that indicates the color component number of the image. This atribute is need only when using web image. + + + + + An integer value that indicates the frame number of TIFF image. This attribute is need only when using multi-pages TIFF image. If this property is set to -1, all frames of the tiff images will be added into the PDF document. + + + + + An integer value that indicates the color bits per component of the image. This attribute is need only when using web image. + + + + + A string that indicates the ID of the paragraph. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a page. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a column. + + + + + A bool value that indicates whether all lines in the paragraph are to remain on the same page. Default is false. This property only affects paragraphs in section (but ont in table). + + + + + A bool value that indicates whether current paragraph remains in the same page along with next paragraph. + + + + + A bool value that indicates whether this paragraph be shown in odd page only. This property used for duplex Printing. If you want to print a paragraph in a new odd page in duplex Printing, you can set "IsFirstParagraph = true" and "IsOnOddPage = true". + + + + + A float value (culture-neutral format) that indicates the scale of the image when placed into pdf file. + + + + + A string that indicates the hyperlink type. + + + + + A string that indicates the link target ID. + + + + + A string that indicates the link file name. + + + + + An integer value that indicates the page number of the link page. + + + + + A string that indicates the link url. + + + + + A string that indicates the link destination type. It can be "Retain","FitPage","FitWidth","FitHeight","FitBox". + + + + + A bool value indicates whether the image is added to the ListOfFigures. + + + + + A string that indicates the menu item type when setting ExcuteMenuItem link actions. If there are more than one actions, separate them by a blank like 'ViewZoomFitWidth ViewGoToPage'. + + + + + A string that indicates the web URL when setting OpenWebLink link actions. + + + + + A string that indicates the file name when setting OpenFile link actions. + + + + + Gets or sets a bool value that indicates whether the image fit to the size of cell which has the only image paragraph. + + + + + + + + A string that indicates the attach file name. + + + + + A string that indicates the MIME type of the attached file. + + + + + + + + Represents a XMP metadata item. + + + + + + + + A string that indicates the XML namespace of the XMP metadata. + + + + + A string that indicates the name of the XMP metadata item. + + + + + A string that indicates the value of the XMP metadata item. + + + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the left position of the note's popup window. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the note's popup window. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A float value (culture-neutral format) that indicates the width of the note's popup window. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A float value (culture-neutral format) that indicates the height of the note's popup window. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the positioning type when using custom positioning for note's oppup window. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A float value (culture-neutral format) that indicates the paragraph top margin.The default unit is point, but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin.The default unit is point, but cm and inch are also supported. For example,MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin. The default unit is point, but cm and inch are also supported. For example, MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin. The default unit is point, but cm and inch are also supported. For example, MarginRight="2cm" or MarginRight="2inch". + + + + + A string that indicates the attachment type. It can be "File" or "Note". + + + + + A string that indicates the attach file name. + + + + + A string that indicates the MIME type of the attached file. + + + + + A bool value that indicates whether this paragraph is disabled. The default value is false. If this property is set to true, this paragraph will not be rendered. + + + + + A string that indicates the file attachment icon type. + + + + + A string that indicates the content of the attached note. + + + + + A string that indicates the title of the attached note. + + + + + A string that indicates the note icon type. + + + + + A string that indicates the color of the icon. For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A bool value that indicates whether the note is open or not when the Pdf document is opened. + + + + + A string that indicates the ID of the note. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a page. + + + + + A bool value that indicates whether the paragraph is the first paragraph of a column. + + + + + A bool value that indicates whether all lines in the paragraph are to remain on the same page. Default is false. This property only affects paragraphs in section (but ont in table). + + + + + A bool value that indicates whether current paragraph remains in the same page along with next paragraph. + + + + + A bool value that indicates whether this paragraph be shown in odd page only. This property used for duplex Printing. If you want to print a paragraph in a new odd page in duplex Printing,you can set "IsFirstParagraph = true" and "IsOnOddPage = true". + + + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the width of the radiobutton. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A float value (culture-neutral format) that indicates the height of the radiobutton. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A float value (culture-neutral format) that indicates the paragraph top margin.The default unit is point, but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin.The default unit is point, but cm and inch are also supported. For example,MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin.The default unit is point, but cm and inch are also supported. For example, MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin.The default unit is point, but cm and inch are also supported. For example, MarginRight="2cm" or MarginRight="2inch". + + + + + + + + Represents a radiobutton item in a radiobutton field. + + + + + Represents a choice option item for a combo or list field. + + + + + + A string that indicates the ID of the form field. + + + + + A float value (culture-neutral format) that indicates the left position of the paragraph. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the paragraph. The top position means the distance between the paragraph and the page's top edge.The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the width of the form. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A float value (culture-neutral format) that indicates the height of the form. The default unit is point, but cm and inch are also supported. The property is used for custom positioning of the note's popup window. You need not use this property if you want the note's popup window be auto aligned. + + + + + A string that indicates the positioning type when using custom positioning. Default is "Auto" which means custom positioning is not used. + + + + + A string that indicates the reference paragraph when using paragraph relative custom positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A string consists of a int array that indicates the choice selection indexes, e.g., If items 2 and 4 are selected, it should be ChoiceSelections="2 4" + + + + + A float value (culture-neutral format) that indicates the paragraph top margin.The default unit is point, but cm and inch are also supported. For example, MarginTop="2cm" or MarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph bottom margin.The default unit is point, but cm and inch are also supported. For example, MarginBottom="2cm" or MarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph left margin.The default unit is point, but cm and inch are also supported. For example, MarginLeft="2cm" or MarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the paragraph right margin.The default unit is point, but cm and inch are also supported. For example, MarginRight="2cm" or MarginRight="2inch". + + + + + A string that indicates the formfield type. + + + + + A string that indicates the name of the formfield. Note that each field MUST have a unique name. + + + + + A string that indicates the value of the formfield. + + + + + A bool value that indicates whether the combo is editable. + + + + + A bool value that indicates if the field is readonly. + + + + + A bool value that indicates if multi-selecting is allowed. + + + + + A string list that indicates the options of combo or list field. For example, "red green blue". NOTE: This attribute is obsolete. Please use the 'ChoiceOption' element. + + + + + A non-negative integer number that indicates the index (in the options list) of combo or list. + + + + + a bool value that indicates whether the checkbox is checked. Default is false. + + + + + A string that indicates the font name of the text field. The core fonts (Courier,Courier-Bold,Courier-BoldOblique,Courier-Oblique,Helvetica,Helvetica-Bold,Helvetica-BoldOblique, Helvetica-Oblique,Symbol,Times-Bold,Times-BoldItalic,Times-Italic,Times-Roman and ZapfDingbats) and Truetype fonts are supported. When using Truetype font, you should use the font family name. If you want the font be bold or italic, set the font name like "Arial,Bold","Arial,Italic" or "Arial,BoldItalic". + + + + + A string that indicates the color of the text field. Only RGB color is supported. The string can be the name of the color or the RGB value. R,G abd B should be a value between 0 and 255. For example "Red" or "255 0 0". + + + + + A string that indicates the color of the background. Only RGB color is supported. The string can be the name of the color or the RGB value. R,G abd B should be a value between 0 and 255. For example "Red" or "255 0 0". + + + + + A string that indicates the color of the border. Only RGB color is supported. The string can be the name of the color or the RGB value. R,G abd B should be a value between 0 and 255. For example "Red" or "255 0 0". + + + + + A string that indicates the color of the button. Only RGB color is supported. The string can be the name of the color or the RGB value. R,G and B should be a value between 0 and 255. For example "Red" or "255 0 0". + + + + + A bool value that indicates whether the text field can be multiline. Default is true. + + + + + A bool value that indicates whether the text field is password. If set to true, the field is intended for entering a secure password that should not be echoed visibly to the screen. Default value is false. + + + + + A non-negative int number that indicates the max length of the text can be entered in this field. + + + + + A non-negative int number that indicates the index of the radiobutton that has been checked. + + + + + A bool value that indicates whether the field is bordered. Default value is false. + + + + + A float value (culture-neutral format) that indicates the font size of the text field. Default is 14 points. + + + + + + + + + + Represents the border of the floating box. + + + + + Represents a text paragraph. + + + + + Represents a graph paragraph. + + + + + Represents a image paragraph. + + + + + Represents a attachment paragraph. + + + + + Represents a formfield paragraph. + + + + + Represents a table paragraph. + + + + + Represents a heading paragraph. + + + + + Represents a floating box paragraph. + + + + + + + + Gets or sets a bool value that indicates whether the floatingbox need to be repeated when the pdf is broken across pages. Default value is false. The attribute is only valid when the floatingbox itself and the object its ReferenceParagraphID referred to both are included in RepeatingRows. + + + + + + + A int value that indicates the Z-order of the floating box. A floating box with larger ZIndex will be placed over the floating box with smaller ZIndex. ZIndex can be negative. Floating box with negative ZIndex will be placed behind the text in the page. + + + + + A string that indicates the vertical alignment type of the floating box. + + + + + A string that indicates the horizontal alignment type of the floating box. + + + + + A string that indicates the vertical positioning type of the floating box. + + + + + A string that indicates the horizontal positioning type of the floating box. + + + + + A string that indicates the vertical alignment type of all paragraphs in the floating box. + + + + + A float value (culture-neutral format) that indicates the top padding of the floating box. The default unit is point, but cm and inch are also supported. For example, PaddingTop="2cm" or PaddingTop="2inch". + + + + + A float value (culture-neutral format) that indicates the bottom padding of the floating box. The default unit is point, but cm and inch are also supported. For example,PaddingBottom="2cm" or PaddingBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the left padding of the floating box. The default unit is point, but cm and inch are also supported. For example, PaddingLeft="2cm" or PaddingLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the right padding of the floating box. The default unit is point, but cm and inch are also supported. For example, PaddingRight="2cm" or PaddingRight="2inch". + + + + + A string that indicates the background color of the floating box.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the left position of the floating box. The default unit is point, but cm and inch are also supported. The property is used when BoxHorizontalAlignment is set to "None". + + + + + A float value (culture-neutral format) that indicates the top position of the floating box. The default unit is point, but cm and inch are also supported. The property is used when BoxVerticalAlignment is set to "None". + + + + + A float value (culture-neutral format) that indicates the width of the floating box. The default unit is point, but cm and inch are also supported. + + + + + A float value (culture-neutral format) that indicates the height of the floating box. The default unit is point, but cm and inch are also supported. + + + + + A bool value that indicates whether the box's height is fixed. The default value is false. It will be enlarged automatically if the height is set too small. Otherwise(true), the box's height is fixed and text exceed the height will be cut. + + + + + A float value (culture-neutral format) that indicates the rotation angle of the texts in floating box. The unit is degree. + + + + + A string that indicates the reference paragraph when using paragraph relative horizontal positioning. The reference paragraph must be ahead of the current paragraph in the document object model. + + + + + A string that indicates the ID of the floating box. + + + + + + + + Represents the border of the canvas. + + + + + Represents a floating box paragraph. + + + + + + A string that indicates the background color of the canvas.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A float value (culture-neutral format) that indicates the width of the canvas. The default unit is point, but cm and inch are also supported. + + + + + A float value (culture-neutral format) that indicates the height of the canvas. The default unit is point, but cm and inch are also supported. + + + + + A string that indicates the ID of the canvas. + + + + + A bool value that indicates whether current paragraph remains in the same page along with next paragraph. + + + + + + + + + + A positive value indicates the current level of the ListLevelFormat. + + + + + An integer value indicates how many chars are indented for the subsequent lines in the list item. + + + + + A string that indicates the tab leader type for the list. The default value is "Dot" + + + + + A float value (culture-neutral format) indicates left margin of list item. NOTE: This attribute is now obsolete. Please use MarginLeft instead. It will be removed 12 months later since release 3.3.1.0 in January 2007. Aspose apologizes for any inconvenience you may have experienced. + + + + + A float value (culture-neutral format) indicates left margin of list item. + + + + + A float value (culture-neutral format) indicates right margin of list item. + + + + + A float value (culture-neutral format) indicates top margin of list item. + + + + + A float value (culture-neutral format) indicates bottom margin of list item. + + + + + + + + A string that indicates the color of the border. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + + A string that indicates the color of the border. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + sets a string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'.This attribute is valid for custom PostScript fonts only. + + + + + A string that indicates the text font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of custom PFM font file. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A bool value that indicates whether the text is baseline. + + + + + A bool value that indicates if the font is embedded. + + + + + A bool value that indicates whether the text is with overline. + + + + + A bool value that indicates whether the text is with strikeout. + + + + + + + + + A float value (culture-neutral format) that indicates the spacing between two text lines. The unit is point. + + + + + An string that indicates the rendering mode of the text. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A float value (culture-neutral format) that indicates space between words.The unit is point. + + + + + + + + Represents the title of the list section. + + + + + Represents the format for specified level of the list section. + + + + + Represents the page border of the section. + + + + + Represents header of a page in a Pdf document. + + + + + Represents footer of a page in a Pdf document. + + + + + Represents a text paragraph in a Pdf document. + + + + + Represents a graph Paragraph. + + + + + Represents a table Paragraph in a Pdf document. + + + + + Represents a image paragraph. + + + + + Represents a floating box paragraph. + + + + + + Represents a string that indicates the type of the list section. + + + + + Represents a bool value that indicates whether caption label is needed in TOC. + + + + + A string that indicates the background color of the section. For example, "Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180" It overloads the BackgroundColor set in Pdf. + + + + + A float value (culture-neutral format) that indicates the page size. The default unit is point, but cm and inch are also supported. For example, PageWidth="20cm" or PageWidth="5inch". + + + + + A float value (culture-neutral format) that indicates the page width. The default unit is point, but cm and inch are also supported. For example, PageWidth="20cm" or PageWidth="5inch". + + + + + A float value (culture-neutral format) that indicates the page height. + + + + + A float value (culture-neutral format) that indicates the page top margin. The default unit is point, but cm and inch are also supported. For example, PageMarginTop="2cm" or PageMarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the page bottom margin. The default unit is point, but cm and inch are also supported. For example, PageMarginBottom="2cm" or PageMarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the page left margin. The default unit is point, but cm and inch are also supported. For example, PageMarginLeft="2cm" or PageMarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the page right margin. The default unit is point, but cm and inch are also supported. For example, PageMarginRight="2cm" or PageMarginRight="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the top page border and the top page edge. The default value is half of the page top margin. The default unit is point, but cm and inch are also supported. For example, PageBorderMarginTop="2cm" or PageBorderMarginTop="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the bottom page border and the bottom page edge. The default value is half of the page bottom margin. The default unit is point, but cm and inch are also supported. For example, PageBorderMarginBottom="2cm" or PageBorderMarginBottom="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the left page border and the left page edge. The default value is half of the page left margin. The default unit is point,but cm and inch are also supported. For example, PageBorderMarginLeft="2cm" or PageBorderMarginLeft="2inch". + + + + + A float value (culture-neutral format) that indicates the margin between the right page border and the right page edge. The default value is half of the page right margin. The default unit is point,but cm and inch are also supported. For example, PageBorderMarginRight="2cm" or PageBorderMarginRight="2inch". + + + + + A string that indicates the background image file name. + + + + + A string that indicates the type of the background image. + + + + + A float value (culture-neutral format) that indicates the fixed width of the background image. If this property is not set, the real image size will be used as page size. + + + + + Gets or sets a bool value that indicates whether the background image is forced to be black-and-white. If black-and-white TIFF image of CCITT subformat is used, this property must be set to true. + + + + + a bool value that indicates whether the page orientation is landscape. The default is false, which means portrait. + + + + + + + + + + + Represents a segment in a Footnote.Note that segment object will be replaced by text in one year later. + + + + + Represents a text in a Footnote. + + + + + Represents a table in a Footnote. + + + + + Represents a image in a Footnote. + + + + + + + the value indicates the numbering continuation. The default value is ContinuationInDocument. + + + + + the value indicates the numbering format. The default value is Arab format. + + + + + A float value (culture-neutral format) that indicates the left position of the footnote. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the footnote. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A bool value that indicates whether the chars in right-to-left aligned. This attribute is used for right-to-left aligned language such as Arabic and Hebrew. + + + + + A string that indicates the footnote font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be choosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'. +This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A string that indicates the footnote alignment mode. It can be "Left","Center","Right","Justify" or "FullJustify". + + + + + A bool value that indicates whether the footnote is with underline. + + + + + A bool value that indicates whether the footnote is with overline. + + + + + A bool value that indicates whether the footnote is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters.The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words. The unit is point. + + + + + An string that indicates the rendering mode of the footnote. + + + + + A string that indicates the color of the footnote. For example, "Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the background color of the footnote.For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + + + + + Represents a segment in a Endnote.Note that segment object will be replaced by text in one year later. + + + + + Represents a text in a Endnote. + + + + + Represents a table in a Endnote. + + + + + Represents a image in a Endnote. + + + + + + + the value indicates the numbering continuation. The default value is ContinuationInDocument. Please NOTE that ContinuationInPage is not suitable for EndNote + + + + + the value indicates the numbering format. The default value is Arab format. + + + + + the value indicates the position of endnote. The default value is EndOfSection. + + + + + A float value (culture-neutral format) that indicates the left position of the footnote. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A float value (culture-neutral format) that indicates the top position of the footnote. The top position means the distance between the paragraph and the page's top edge. The default unit is point, but cm and inch are also supported. The property is used for custom positioning. You need not use this property if you want the paragraph be auto aligned. + + + + + A bool value that indicates whether the chars in right-to-left aligned. This attribute is used for right-to-left aligned language such as Arabic and Hebrew. + + + + + A string that indicates the footnote font name. When using TrueType fonts, it's the Family Name when you double click the TrueType font in the Fonts of the Control Panel, instead of the Full Name displayed at the first line. Generally each TrueType font has two versions: Bold and Italic, which can be chosen by setting IsTrueTypeFontBold and IsTrueTypeFontItalic attribute. + + + + + A bool value that indicates whether the font is unicode. + + + + + A string that indicates the truetype font file name. This attribute is only needed when using truetype font unicode. + + + + + + A string that indicates the name of custom AFM font file. + + + + + A string that indicates the name of custom PFM font file. + + + + + A string that indicates the name of custom font outline file. Font outline file is needed when embedding custom PostScript font into PDF files. + + + + + A string that indicates the name of font encoding file. Font encoding files are available at "http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/" and "http://www.unicode.org/Public/MAPPINGS/ISO8859/". The font encoding name is same as the encoding file name. For example, the encoding file is 'cp1250.txt' and the encoding name is 'cp1250';the encoding file is '8859-1.TXT' and the encoding name is '8859-1'. +This attribute is valid for custom PostScript fonts only. + + + + + A bool value that indicates whether the TrueType font is bold. This attribute is valid for TrueType fonts only. + + + + + A bool value that indicates whether the TrueType font is italic. This attribute is valid for TrueType fonts only. + + + + + A float number (culture-neutral format) that indicates the size of font. + + + + + A string that indicates the font encoding name. + + + + + A bool value that indicates if the font is embedded. + + + + + A string that indicates the footnote alignment mode. It can be "Left","Center","Right","Justify" or "FullJustify". + + + + + A bool value that indicates whether the footnote is with underline. + + + + + A bool value that indicates whether the footnote is with overline. + + + + + A bool value that indicates whether the footnote is with strikeout. + + + + + A float value (culture-neutral format) that indicates space between characters.The unit is point. + + + + + A float value (culture-neutral format) that indicates space between words.The unit is point. + + + + + An string that indicates the rendering mode of the footnote. + + + + + A string that indicates the color of the footnote. For example, "Red", "rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + A string that indicates the background color of the footnote.For example,"Red","rgb 0 128 128","cmyk 0 128 0 64","gray 180". + + + + + + Represents the three types of ListSection. + + + + + + + + + + Represents the enumeration of the rotation angle in cell or floatingBox. + + + + + + + + + + Represents the enumeration of the text alignment types. + + + + + + + + + + + + Represents the enumeration of PDF conformance types. + + + + + + + + + + Represents the enumeration of the alignment types. + + + + + + + + + + Represents the enumeration of the attachment types. + + + + + + + + + + Represents the enumeration of the gutter placement types. + + + + + + + + + + + + + + Represents the enumeration of the border styles. + + + + + + + + + + Represents the enumeration of the floating box horizontal alignment types. + + + + + + + + + + + Represents the enumeration of the floating box horizontal positioning types. + + + + + + + + + + Represents the enumeration of the floating box vertical alignment types. + + + + + + + + + + + Represents the enumeration of the floating box vertical positioning types. + + + + + + + + + + Represents the enumeration of the CCITT subformat types. + + + + + + + + + + Represents the enumeration of the destination types. + + + + + + + + + + + + Represents the enumeration of the file icon types. + + + + + + + + + + + Represents the enumeration of the form field types. + + + + + + + + + + + + Represents the enumeration of the header or footer types. + + + + + + + + + + Represents the enumeration of the number styles of the heading. + + + + + + + + + + + + Represents the enumeration of the hyperlink types. + + + + + + + + + + + Represents the enumeration of the image types. + + + + + + + + + + + + + + + + + + Represents the enumeration of the image open types. + + + + + + + + + + Represents the enumeration of the pdf open types. + + + + + + + + + + + Represents the enumeration of the note icon types. + + + + + + + + + + + + + + Represents the enumeration of positioning types for note's popup window. + + + + + + + + + + Represents the enumeration of page transition effects when revealing the new page. + + + + + + + + + + + + + + Represents the enumeration of the positioning types when using custom positioning. Custom positioning means customer specify the position of paragraph instead of render automatically. + + + + + + + + + + + Represents the enumeration of text rendering modes. + + + + + + + + + + + Represents the enumeration of types of custom tab stops. + + + + + + + + + + + Represents the enumeration of tab leader types. + + + + + + + + + + + Represents the enumeration of vertical alignment types. + + + + + + + + + + Represents the enumeration of vertical alignment types. + + + + + + + + + + + + + + + + + + + Represents the enumeration of column adjustment types. + + + + + + + + + + Represents the enumeration of footnote or endnote numbering continuation types. + + + + + + + + + + Represents the enumeration of footnote or endnote numbering format types. + + + + + + + + + + + + Represents the enumeration of endnote position types. + + + + + + + + + Represents the enumeration of reporting services item types. + + + + + + + + + + + + + + + + Represents the enumeration of the page number format types. + + + + + + + + + + + + + Represents the enumeration of menu item types when executing a menu item in link action. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents child bookmarks. + + + + + + A string that indicates the ID of the paragraph that the bookmark item links to. If this property is set, the 'PageNumber' and 'YPosition' properties are not needed. + + + + + A string that indicates the title of the bookmark. If the 'LinkParagraphID' is set and the linked paragraph is 'Text' or 'Heading' and this attribute is not set, the content of the 'Text' or 'Heading' will be used as the title of the bookmark item. + + + + + An integer number that indicates the page number of the bookmark link. If the 'LinkParagraphID' is set, this attribute is not needed. + + + + + A float number that indicates the Y coordination of the bookmark link. The origin of the coordination is the lower-left corner of the page. If the 'LinkParagraphID' is set, this property is not needed. + + + + + A bool value that indicates whether the bookmark item is expanded if it has child bookmarks. + + + + + A string that indicates the menu item type when setting ExcuteMenuItem link actions. If there are more than one actions, separate them by a blank like 'ViewZoomFitWidth ViewGoToPage'. + + + + + A string that indicates the web URL when setting OpenWebLink link actions. + + + + + A string that indicates the file name when setting OpenFile link actions. + + + + + + + + Represents a bookmark item + + + + + \ No newline at end of file diff --git a/docs/repository-structure.md b/docs/repository-structure.md new file mode 100644 index 00000000..51870b7d --- /dev/null +++ b/docs/repository-structure.md @@ -0,0 +1,24 @@ +# Repository Structure + +This repository separates documentation examples from product-specific plugin integrations. + +## Documentation Examples + +Use `examples/documentation` for runnable Java examples that are referenced from Aspose.PDF documentation. + +- Java code belongs under `examples/documentation/src/main/java/com/aspose/pdf/examples`. +- Sample files belong under `examples/documentation/sample-data//input`. +- Generated outputs should go under `examples/documentation/sample-data//output`. +- Register new category runners in both scripts under `examples/documentation/tools`. + +## Plugin Integrations + +Use `plugins/` for integrations such as Jython or PHP. + +- Keep plugin-specific code, sample data, tools, and README files inside the plugin folder. +- Add a plugin module to the root `pom.xml` only when it is Maven-buildable. +- Do not place plugin examples under `examples/documentation`; those examples serve a different audience and usually have different setup requirements. + +## Shared Files + +Prefer keeping sample data beside the examples that use it. Add shared folders only when multiple sections truly reuse the same assets or scripts. diff --git a/examples/documentation/README.md b/examples/documentation/README.md new file mode 100644 index 00000000..bb0bfc8c --- /dev/null +++ b/examples/documentation/README.md @@ -0,0 +1,51 @@ +# Aspose.PDF for Java Documentation Examples + +This module contains runnable Java examples used by Aspose.PDF documentation. + +## Layout + +Directory | Description +--------- | ----------- +`src/main/java/com/aspose/pdf/examples` | Java example runners and operation classes. +`sample-data` | Input and generated output files grouped by example category. +`tools` | Scripts for running all registered example runners. + +## Build + +From this directory: + +```bash +mvn clean compile +``` + +From the repository root: + +```bash +mvn -f examples/documentation/pom.xml clean compile +``` + +## Run Examples + +Run one example runner: + +```bash +mvn -DskipTests exec:java "-Dexec.mainClass=com.aspose.pdf.examples.basicoperations.BasicOperationsExamples" +``` + +Run all registered runners: + +```bash +tools/run-all-examples.sh +``` + +```powershell +tools/run-all-examples.ps1 +``` + +## License + +Examples can run without a license in evaluation mode. Provide a license with one of: + +- CLI argument: `--license=/path/to/Aspose.PDF.lic` +- JVM property: `-Daspose.pdf.license=/path/to/Aspose.PDF.lic` +- Environment variable: `ASPOSE_PDF_LICENSE` diff --git a/examples/documentation/pom.xml b/examples/documentation/pom.xml new file mode 100644 index 00000000..4e9ba57f --- /dev/null +++ b/examples/documentation/pom.xml @@ -0,0 +1,97 @@ + + + 4.0.0 + + + com.aspose + aspose-pdf-for-java-repository + 1.0.0-SNAPSHOT + ../../pom.xml + + + aspose-pdf-java-examples + jar + + Aspose.PDF for Java Examples + Java examples for Aspose.PDF feature workflows. + + + UTF-8 + 25 + 26.4 + 26.4 + 5.11.4 + + + + + AsposeJavaAPI + Aspose Java API + https://releases.aspose.com/java/repo/ + + + + + + com.aspose + aspose-pdf + ${aspose.pdf.version} + + + + com.aspose + aspose-imaging + ${aspose.imaging.version} + + + + org.junit.jupiter + junit-jupiter + ${junit.jupiter.version} + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.5.0 + + + enforce-java-25-or-newer + + enforce + + + + + [25,) + This project requires JDK 25 or newer. + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.5.2 + + + org.codehaus.mojo + exec-maven-plugin + 3.5.0 + + + + diff --git a/examples/documentation/sample-data/accessibility_tagged_pdf/input/BreakfastMenu.pdf b/examples/documentation/sample-data/accessibility_tagged_pdf/input/BreakfastMenu.pdf new file mode 100644 index 00000000..5668652c Binary files /dev/null and b/examples/documentation/sample-data/accessibility_tagged_pdf/input/BreakfastMenu.pdf differ diff --git a/examples/documentation/sample-data/accessibility_tagged_pdf/input/StructureElements.pdf b/examples/documentation/sample-data/accessibility_tagged_pdf/input/StructureElements.pdf new file mode 100644 index 00000000..24781673 Binary files /dev/null and b/examples/documentation/sample-data/accessibility_tagged_pdf/input/StructureElements.pdf differ diff --git a/examples/documentation/sample-data/accessibility_tagged_pdf/input/StructureElementsTree.pdf b/examples/documentation/sample-data/accessibility_tagged_pdf/input/StructureElementsTree.pdf new file mode 100644 index 00000000..a30f11ec Binary files /dev/null and b/examples/documentation/sample-data/accessibility_tagged_pdf/input/StructureElementsTree.pdf differ diff --git a/examples/documentation/sample-data/accessibility_tagged_pdf/input/TH.pdf b/examples/documentation/sample-data/accessibility_tagged_pdf/input/TH.pdf new file mode 100644 index 00000000..5a9f8d25 Binary files /dev/null and b/examples/documentation/sample-data/accessibility_tagged_pdf/input/TH.pdf differ diff --git a/examples/documentation/sample-data/accessibility_tagged_pdf/input/logo.jpg b/examples/documentation/sample-data/accessibility_tagged_pdf/input/logo.jpg new file mode 100644 index 00000000..25831d67 Binary files /dev/null and b/examples/documentation/sample-data/accessibility_tagged_pdf/input/logo.jpg differ diff --git a/examples/documentation/sample-data/accessibility_tagged_pdf/input/sample-tagged.pdf b/examples/documentation/sample-data/accessibility_tagged_pdf/input/sample-tagged.pdf new file mode 100644 index 00000000..909710fd Binary files /dev/null and b/examples/documentation/sample-data/accessibility_tagged_pdf/input/sample-tagged.pdf differ diff --git a/examples/documentation/sample-data/attach_zugferd/input/ZUGFeRD-test.pdf b/examples/documentation/sample-data/attach_zugferd/input/ZUGFeRD-test.pdf new file mode 100644 index 00000000..146775d7 Binary files /dev/null and b/examples/documentation/sample-data/attach_zugferd/input/ZUGFeRD-test.pdf differ diff --git a/examples/documentation/sample-data/attach_zugferd/input/factur-x.xml b/examples/documentation/sample-data/attach_zugferd/input/factur-x.xml new file mode 100644 index 00000000..201b7a89 --- /dev/null +++ b/examples/documentation/sample-data/attach_zugferd/input/factur-x.xml @@ -0,0 +1,163 @@ + + + + + urn:cen.eu:en16931:2017 + + + + 123456789 + 380 + + 20230901 + + + Kopftext: Sehr geehrte Damen und Herren, + +vielen Dank für Ihren Auftrag. Vereinbarungsgemäß berechnen wir Ihnen wie folgt:; + + Fußtext: Wenn nicht anders angegeben, entspricht das Leistungsdatum dem Rechnungsdatum. +Für Rückfragen stehen wir Ihnen gerne zur Verfügung. + +Mit freundlichen Grüßen + + + + + + 1 + + + 1 + Test 1 + + + + 2.5000 + + + 2.5000 + + + + 1.0000 + + + + VAT + Umsatzsteuerbefreit nach §19 UStG + E + 0.00 + + + 2.50 + + + + + + 2 + + + 2 + Test 2 + + + + 2.6000 + + + 2.6000 + + + + 3.0000 + + + + VAT + Umsatzsteuerbefreit nach §19 UStG + E + 0.00 + + + 7.80 + + + + + + Blau Gmbh + + Andreas Blau + + andreas.blau@example.com + + + + 54321 + Blau Strasse 321 + Dresden + DE + + + 201/113/40209 + + + DE123456789 + + + + Grund Gmbh + + Thomas Grund + + + 12345 + Grund Strasse 123 + Berlin + DE + + + + + + + 20230921 + + + + + EUR + + 58 + + DE89370400440532013000 + + + + 0.00 + VAT + Umsatzsteuerbefreit nach §19 UStG + 10.30 + E + 0.00 + + + + 20231001 + + + + 10.30 + 0.00 + 0.00 + 10.30 + 0.00 + 10.30 + 0.00 + 10.30 + + + + diff --git a/examples/documentation/sample-data/basic_operations/input/open_document_encrypted.pdf b/examples/documentation/sample-data/basic_operations/input/open_document_encrypted.pdf new file mode 100644 index 00000000..c0967ac0 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/open_document_encrypted.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/open_document_from_file.pdf b/examples/documentation/sample-data/basic_operations/input/open_document_from_file.pdf new file mode 100644 index 00000000..97fab90a Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/open_document_from_file.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/open_document_from_stream.pdf b/examples/documentation/sample-data/basic_operations/input/open_document_from_stream.pdf new file mode 100644 index 00000000..97fab90a Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/open_document_from_stream.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample.pdf b/examples/documentation/sample-data/basic_operations/input/sample.pdf new file mode 100644 index 00000000..d0431589 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample1.pdf b/examples/documentation/sample-data/basic_operations/input/sample1.pdf new file mode 100644 index 00000000..712685a4 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample1.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample2.pdf b/examples/documentation/sample-data/basic_operations/input/sample2.pdf new file mode 100644 index 00000000..1e67bd75 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample2.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample3.pdf b/examples/documentation/sample-data/basic_operations/input/sample3.pdf new file mode 100644 index 00000000..462dea99 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample3.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample_changepassword.pdf b/examples/documentation/sample-data/basic_operations/input/sample_changepassword.pdf new file mode 100644 index 00000000..131fe8c5 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample_changepassword.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample_protected.pdf b/examples/documentation/sample-data/basic_operations/input/sample_protected.pdf new file mode 100644 index 00000000..630a0e43 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample_protected.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample_split.pdf b/examples/documentation/sample-data/basic_operations/input/sample_split.pdf new file mode 100644 index 00000000..38de0805 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample_split.pdf differ diff --git a/examples/documentation/sample-data/basic_operations/input/sample_unprotected.pdf b/examples/documentation/sample-data/basic_operations/input/sample_unprotected.pdf new file mode 100644 index 00000000..bad83d21 Binary files /dev/null and b/examples/documentation/sample-data/basic_operations/input/sample_unprotected.pdf differ diff --git a/examples/documentation/sample-data/compare/input/sample.pdf b/examples/documentation/sample-data/compare/input/sample.pdf new file mode 100644 index 00000000..97fab90a Binary files /dev/null and b/examples/documentation/sample-data/compare/input/sample.pdf differ diff --git a/examples/documentation/sample-data/compare/input/sample_1.pdf b/examples/documentation/sample-data/compare/input/sample_1.pdf new file mode 100644 index 00000000..9535949d Binary files /dev/null and b/examples/documentation/sample-data/compare/input/sample_1.pdf differ diff --git a/examples/documentation/sample-data/compare/input/sample_2.pdf b/examples/documentation/sample-data/compare/input/sample_2.pdf new file mode 100644 index 00000000..4da3ad55 Binary files /dev/null and b/examples/documentation/sample-data/compare/input/sample_2.pdf differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/demo.xml b/examples/documentation/sample-data/convert_pdf_document/input/demo.xml new file mode 100644 index 00000000..ef5c56d9 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/demo.xml @@ -0,0 +1,21 @@ + + + ABC Inc. + + 101 + Andrew + Manager + + + + 102 + Eduard + Executive + + + + 103 + Peter + Executive + + diff --git a/examples/documentation/sample-data/convert_pdf_document/input/demo.xslt b/examples/documentation/sample-data/convert_pdf_document/input/demo.xslt new file mode 100644 index 00000000..3218bc74 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/demo.xslt @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + Company Name: + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + bold + + + + + + + + + + + + + diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.aux b/examples/documentation/sample-data/convert_pdf_document/input/sample.aux new file mode 100644 index 00000000..d61cd24f --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.aux @@ -0,0 +1,8 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{}\protected@file@percent } +\newlabel{simple_equation}{{1}{1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Subsection Heading Here}{1}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2}Conclusion}{1}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Simulation Results}}{2}{}\protected@file@percent } +\newlabel{simulationfigure}{{1}{2}} +\gdef \@abspage@last{2} diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.bmp b/examples/documentation/sample-data/convert_pdf_document/input/sample.bmp new file mode 100644 index 00000000..05be2c53 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.bmp differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.cdr b/examples/documentation/sample-data/convert_pdf_document/input/sample.cdr new file mode 100644 index 00000000..b40c7fc7 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.cdr differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.cgm b/examples/documentation/sample-data/convert_pdf_document/input/sample.cgm new file mode 100644 index 00000000..2b38c483 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.cgm differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.emf b/examples/documentation/sample-data/convert_pdf_document/input/sample.emf new file mode 100644 index 00000000..483d2c7e Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.emf differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.eps b/examples/documentation/sample-data/convert_pdf_document/input/sample.eps new file mode 100644 index 00000000..939579b7 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.eps @@ -0,0 +1,9216 @@ +%!PS-Adobe-3.1 EPSF-3.0 +%ADO_DSC_Encoding: Windows Roman +%%Title: sample.pdf +%%Creator: Adobe Acrobat 17.12.0 +%%For: andru +%%CreationDate: 08.09.2025, 22:09:08 +%%BoundingBox: 0 0 595 842 +%%HiResBoundingBox: 0 0 595 842 +%%CropBox: 0 0 595 842 +%%LanguageLevel: 2 +%%DocumentNeededResources: (atend) +%%DocumentSuppliedResources: (atend) +%%DocumentNeededFeatures: (atend) +%%DocumentSuppliedFeatures: (atend) +%%DocumentData: Clean7Bit +%%Pages: (atend) +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%DocumentCustomColors: (atend) +%%EndComments +%%BeginDefaults +%%ViewingOrientation: 1 0 0 1 +%%EndDefaults +%%BeginProlog +%%BeginResource: procset Adobe_AGM_Utils 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{currentpacking true setpacking}if +userdict/Adobe_AGM_Utils 75 dict dup begin put +/bdf +{bind def}bind def +/nd{null def}bdf +/xdf +{exch def}bdf +/ldf +{load def}bdf +/ddf +{put}bdf +/xddf +{3 -1 roll put}bdf +/xpt +{exch put}bdf +/ndf +{ + exch dup where{ + pop pop pop + }{ + xdf + }ifelse +}def +/cdndf +{ + exch dup currentdict exch known{ + pop pop + }{ + exch def + }ifelse +}def +/gx +{get exec}bdf +/ps_level + /languagelevel where{ + pop systemdict/languagelevel gx + }{ + 1 + }ifelse +def +/level2 + ps_level 2 ge +def +/level3 + ps_level 3 ge +def +/ps_version + {version cvr}stopped{-1}if +def +/set_gvm +{currentglobal exch setglobal}bdf +/reset_gvm +{setglobal}bdf +/makereadonlyarray +{ + /packedarray where{pop packedarray + }{ + array astore readonly}ifelse +}bdf +/map_reserved_ink_name +{ + dup type/stringtype eq{ + dup/Red eq{ + pop(_Red_) + }{ + dup/Green eq{ + pop(_Green_) + }{ + dup/Blue eq{ + pop(_Blue_) + }{ + dup()cvn eq{ + pop(Process) + }if + }ifelse + }ifelse + }ifelse + }if +}bdf +/AGMUTIL_GSTATE 22 dict def +/get_gstate +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_clr_spc currentcolorspace def + /AGMUTIL_GSTATE_clr_indx 0 def + /AGMUTIL_GSTATE_clr_comps 12 array def + mark currentcolor counttomark + {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop + /AGMUTIL_GSTATE_fnt rootfont def + /AGMUTIL_GSTATE_lw currentlinewidth def + /AGMUTIL_GSTATE_lc currentlinecap def + /AGMUTIL_GSTATE_lj currentlinejoin def + /AGMUTIL_GSTATE_ml currentmiterlimit def + currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf + /AGMUTIL_GSTATE_sa currentstrokeadjust def + /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def + /AGMUTIL_GSTATE_op currentoverprint def + /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def + /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def + currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf + cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf + /AGMUTIL_GSTATE_ht currenthalftone def + /AGMUTIL_GSTATE_flt currentflat def + end +}def +/set_gstate +{ + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_clr_spc setcolorspace + AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get + /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor + AGMUTIL_GSTATE_fnt setfont + AGMUTIL_GSTATE_lw setlinewidth + AGMUTIL_GSTATE_lc setlinecap + AGMUTIL_GSTATE_lj setlinejoin + AGMUTIL_GSTATE_ml setmiterlimit + AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash + AGMUTIL_GSTATE_sa setstrokeadjust + AGMUTIL_GSTATE_clr_rnd setcolorrendering + AGMUTIL_GSTATE_op setoverprint + AGMUTIL_GSTATE_bg cvx setblackgeneration + AGMUTIL_GSTATE_ucr cvx setundercolorremoval + AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx + AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer + AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or + { + currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne + { + mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark + }if + }{ + AGMUTIL_GSTATE_ht sethalftone + }ifelse + AGMUTIL_GSTATE_flt setflat + end +}def +/get_gstate_and_matrix +{ + AGMUTIL_GSTATE begin + /AGMUTIL_GSTATE_ctm matrix currentmatrix def + end + get_gstate +}def +/set_gstate_and_matrix +{ + set_gstate + AGMUTIL_GSTATE begin + AGMUTIL_GSTATE_ctm setmatrix + end +}def +/AGMUTIL_str256 256 string def +/AGMUTIL_src256 256 string def +/AGMUTIL_dst64 64 string def +/AGMUTIL_srcLen nd +/AGMUTIL_ndx nd +/AGMUTIL_cpd nd +/capture_cpd{ + //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf +}def +/thold_halftone +{ + level3 + {sethalftone currenthalftone} + { + dup/HalftoneType get 3 eq + { + sethalftone currenthalftone + }{ + begin + Width Height mul{ + Thresholds read{pop}if + }repeat + end + currenthalftone + }ifelse + }ifelse +}def +/rdcmntline +{ + currentfile AGMUTIL_str256 readline pop + (%)anchorsearch{pop}if +}bdf +/filter_cmyk +{ + dup type/filetype ne{ + exch()/SubFileDecode filter + }{ + exch pop + } + ifelse + [ + exch + { + AGMUTIL_src256 readstring pop + dup length/AGMUTIL_srcLen exch def + /AGMUTIL_ndx 0 def + AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ + 1 index exch get + AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put + /AGMUTIL_ndx AGMUTIL_ndx 1 add def + }for + pop + AGMUTIL_dst64 0 AGMUTIL_ndx getinterval + } + bind + /exec cvx + ]cvx +}bdf +/filter_indexed_devn +{ + cvi Names length mul names_index add Lookup exch get +}bdf +/filter_devn +{ + 4 dict begin + /srcStr xdf + /dstStr xdf + dup type/filetype ne{ + 0()/SubFileDecode filter + }if + [ + exch + [ + /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx + currentdict/srcStr get/readstring cvx/pop cvx + /dup cvx/length cvx 0/gt cvx[ + Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx + names_index Names length currentdict/srcStr get length 1 sub{ + 1/index cvx/exch cvx/get cvx + currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx + Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx + }for + currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx + ]cvx/if cvx + /end cvx + ]cvx + bind + /exec cvx + ]cvx + end +}bdf +/AGMUTIL_imagefile nd +/read_image_file +{ + AGMUTIL_imagefile 0 setfileposition + 10 dict begin + /imageDict xdf + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + /imbufIdx 0 def + /origDataSource imageDict/DataSource get def + /origMultipleDataSources imageDict/MultipleDataSources get def + /origDecode imageDict/Decode get def + /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def + imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse + { + /imbufCnt imageDict/DataSource get length def + /imbufs imbufCnt array def + 0 1 imbufCnt 1 sub{ + /imbufIdx xdf + imbufs imbufIdx imbufLen string put + imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put + }for + DeviceN_PS2{ + imageDict begin + /DataSource[DataSource/devn_sep_datasource cvx]cvx def + /MultipleDataSources false def + /Decode[0 1]def + end + }if + }{ + /imbuf imbufLen string def + Indexed_DeviceN level3 not and DeviceN_NoneName or{ + /srcDataStrs[imageDict begin + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi string + }repeat + end]def + imageDict begin + /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def + /Decode[0 1]def + end + }{ + imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put + imageDict/Decode[0 1]put + }ifelse + }ifelse + imageDict exch + load exec + imageDict/DataSource origDataSource put + imageDict/MultipleDataSources origMultipleDataSources put + imageDict/Decode origDecode put + end +}bdf +/write_image_file +{ + begin + {(AGMUTIL_imagefile)(w+)file}stopped{ + false + }{ + Adobe_AGM_Utils/AGMUTIL_imagefile xddf + 2 dict begin + /imbufLen Width BitsPerComponent mul 7 add 8 idiv def + MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ + /imbuf imbufLen string def + }if + 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ + pop + MultipleDataSources{ + 0 1 DataSource length 1 sub{ + DataSource type dup + /arraytype eq{ + pop DataSource exch gx + }{ + /filetype eq{ + DataSource exch get imbuf readstring pop + }{ + DataSource exch get + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }for + }{ + DataSource type dup + /arraytype eq{ + pop DataSource exec + }{ + /filetype eq{ + DataSource imbuf readstring pop + }{ + DataSource + }ifelse + }ifelse + AGMUTIL_imagefile exch writestring + }ifelse + }for + end + true + }ifelse + end +}bdf +/close_image_file +{ + AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile +}def +statusdict/product known userdict/AGMP_current_show known not and{ + /pstr statusdict/product get def + pstr(HP LaserJet 2200)eq + pstr(HP LaserJet 4000 Series)eq or + pstr(HP LaserJet 4050 Series )eq or + pstr(HP LaserJet 8000 Series)eq or + pstr(HP LaserJet 8100 Series)eq or + pstr(HP LaserJet 8150 Series)eq or + pstr(HP LaserJet 5000 Series)eq or + pstr(HP LaserJet 5100 Series)eq or + pstr(HP Color LaserJet 4500)eq or + pstr(HP Color LaserJet 4600)eq or + pstr(HP LaserJet 5Si)eq or + pstr(HP LaserJet 1200 Series)eq or + pstr(HP LaserJet 1300 Series)eq or + pstr(HP LaserJet 4100 Series)eq or + { + userdict/AGMP_current_show/show load put + userdict/show{ + currentcolorspace 0 get + /Pattern eq + {false charpath f} + {AGMP_current_show}ifelse + }put + }if + currentdict/pstr undef +}if +/consumeimagedata +{ + begin + AGMIMG_init_common + currentdict/MultipleDataSources known not + {/MultipleDataSources false def}if + MultipleDataSources + { + DataSource 0 get type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width cvi string def + 1 1 Height cvi + { + pop + 0 1 DataSource length 1 sub + { + DataSource exch get + flushbuffer readstring pop pop + }for + }for + end + }if + dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and + { + Width Height mul cvi + { + 0 1 DataSource length 1 sub + {dup DataSource exch gx length exch 0 ne{pop}if}for + dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + } + { + /DataSource load type + dup/filetype eq + { + 1 dict begin + /flushbuffer Width Decode length 2 idiv mul cvi string def + 1 1 Height{pop DataSource flushbuffer readstring pop pop}for + end + }if + dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and + { + Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul + { + DataSource length dup 0 eq + {pop exit}if + sub dup 0 le + {exit}if + }loop + pop + }if + }ifelse + end +}bdf +/addprocs +{ + 2{/exec load}repeat + 3 1 roll + [5 1 roll]bind cvx +}def +/modify_halftone_xfer +{ + currenthalftone dup length dict copy begin + currentdict 2 index known{ + 1 index load dup length dict copy begin + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end def + currentdict end sethalftone + }{ + currentdict/TransferFunction known{ + /TransferFunction load + }{ + currenttransfer + }ifelse + addprocs/TransferFunction xdf + currentdict end sethalftone + pop + }ifelse +}def +/clonearray +{ + dup xcheck exch + dup length array exch + Adobe_AGM_Core/AGMCORE_tmp -1 ddf + { + Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf + dup type/dicttype eq + { + Adobe_AGM_Core/AGMCORE_tmp get + exch + clonedict + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + dup type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_tmp get exch + clonearray + Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf + }if + exch dup + Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put + }forall + exch{cvx}if +}bdf +/clonedict +{ + dup length dict + begin + { + dup type/dicttype eq + {clonedict}if + dup type/arraytype eq + {clonearray}if + def + }forall + currentdict + end +}bdf +/DeviceN_PS2 +{ + /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and +}bdf +/Indexed_DeviceN +{ + /indexed_colorspace_dict AGMCORE_gget dup null ne{ + dup/CSDBase known{ + /CSDBase get/CSD get_res/Names known + }{ + pop false + }ifelse + }{ + pop false + }ifelse +}bdf +/DeviceN_NoneName +{ + /Names where{ + pop + false Names + { + (None)eq or + }forall + }{ + false + }ifelse +}bdf +/DeviceN_PS2_inRip_seps +{ + /AGMCORE_in_rip_sep where + { + pop dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and + { + /currentcolorspace exch AGMCORE_gput + false + }{ + true + }ifelse + }{ + true + }ifelse + }{ + true + }ifelse +}bdf +/base_colorspace_type +{ + dup type/arraytype eq{0 get}if +}bdf +/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse +{ + /pdfmark_5{cleartomark}bind def +}{ + /pdfmark_5{pdfmark}bind def +}ifelse +/ReadBypdfmark_5 +{ + currentfile exch 0 exch/SubFileDecode filter + /currentdistillerparams where + {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse + {flushfile cleartomark} + {/PUT pdfmark}ifelse +}bdf +/ReadBypdfmark_5_string +{ + 2 dict begin + /makerString exch def string/tmpString exch def + { + currentfile tmpString readline not{pop exit}if + makerString anchorsearch + { + pop pop cleartomark exit + }{ + 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 + }ifelse + }loop + end +}bdf +/xpdfm +{ + { + dup 0 get/Label eq + { + aload length[exch 1 add 1 roll/PAGELABEL + }{ + aload pop + [{ThisPage}<<5 -2 roll>>/PUT + }ifelse + pdfmark_5 + }forall +}bdf +/lmt{ + dup 2 index le{exch}if pop dup 2 index ge{exch}if pop +}bdf +/int{ + dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop +}bdf +/ds{ + Adobe_AGM_Utils begin +}bdf +/dt{ + currentdict Adobe_AGM_Utils eq{ + end + }if +}bdf +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_AGM_Core 2.0 0 +%%Version: 2.0 0 +%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Core 209 dict dup begin put +/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def +/AGMCORE_str256 256 string def +/AGMCORE_save nd +/AGMCORE_graphicsave nd +/AGMCORE_c 0 def +/AGMCORE_m 0 def +/AGMCORE_y 0 def +/AGMCORE_k 0 def +/AGMCORE_cmykbuf 4 array def +/AGMCORE_screen[currentscreen]cvx def +/AGMCORE_tmp 0 def +/AGMCORE_&setgray nd +/AGMCORE_&setcolor nd +/AGMCORE_&setcolorspace nd +/AGMCORE_&setcmykcolor nd +/AGMCORE_cyan_plate nd +/AGMCORE_magenta_plate nd +/AGMCORE_yellow_plate nd +/AGMCORE_black_plate nd +/AGMCORE_plate_ndx nd +/AGMCORE_get_ink_data nd +/AGMCORE_is_cmyk_sep nd +/AGMCORE_host_sep nd +/AGMCORE_avoid_L2_sep_space nd +/AGMCORE_distilling nd +/AGMCORE_composite_job nd +/AGMCORE_producing_seps nd +/AGMCORE_ps_level -1 def +/AGMCORE_ps_version -1 def +/AGMCORE_environ_ok nd +/AGMCORE_CSD_cache 0 dict def +/AGMCORE_currentoverprint false def +/AGMCORE_deltaX nd +/AGMCORE_deltaY nd +/AGMCORE_name nd +/AGMCORE_sep_special nd +/AGMCORE_err_strings 4 dict def +/AGMCORE_cur_err nd +/AGMCORE_current_spot_alias false def +/AGMCORE_inverting false def +/AGMCORE_feature_dictCount nd +/AGMCORE_feature_opCount nd +/AGMCORE_feature_ctm nd +/AGMCORE_ConvertToProcess false def +/AGMCORE_Default_CTM matrix def +/AGMCORE_Default_PageSize nd +/AGMCORE_Default_flatness nd +/AGMCORE_currentbg nd +/AGMCORE_currentucr nd +/AGMCORE_pattern_paint_type 0 def +/knockout_unitsq nd +currentglobal true setglobal +[/CSA/Gradient/Procedure] +{ + /Generic/Category findresource dup length dict copy/Category defineresource pop +}forall +setglobal +/AGMCORE_key_known +{ + where{ + /Adobe_AGM_Core_Id known + }{ + false + }ifelse +}ndf +/flushinput +{ + save + 2 dict begin + /CompareBuffer 3 -1 roll def + /readbuffer 256 string def + mark + { + currentfile readbuffer{readline}stopped + {cleartomark mark} + { + not + {pop exit} + if + CompareBuffer eq + {exit} + if + }ifelse + }loop + cleartomark + end + restore +}bdf +/getspotfunction +{ + AGMCORE_screen exch pop exch pop + dup type/dicttype eq{ + dup/HalftoneType get 1 eq{ + /SpotFunction get + }{ + dup/HalftoneType get 2 eq{ + /GraySpotFunction get + }{ + pop + { + abs exch abs 2 copy add 1 gt{ + 1 sub dup mul exch 1 sub dup mul add 1 sub + }{ + dup mul exch dup mul add 1 exch sub + }ifelse + }bind + }ifelse + }ifelse + }if +}def +/np +{newpath}bdf +/clp_npth +{clip np}def +/eoclp_npth +{eoclip np}def +/npth_clp +{np clip}def +/graphic_setup +{ + /AGMCORE_graphicsave save store + concat + 0 setgray + 0 setlinecap + 0 setlinejoin + 1 setlinewidth + []0 setdash + 10 setmiterlimit + np + false setoverprint + false setstrokeadjust + //Adobe_AGM_Core/spot_alias gx + /Adobe_AGM_Image where{ + pop + Adobe_AGM_Image/spot_alias 2 copy known{ + gx + }{ + pop pop + }ifelse + }if + /sep_colorspace_dict null AGMCORE_gput + 100 dict begin + /dictstackcount countdictstack def + /showpage{}def + mark +}def +/graphic_cleanup +{ + cleartomark + dictstackcount 1 countdictstack 1 sub{end}for + end + AGMCORE_graphicsave restore +}def +/compose_error_msg +{ + grestoreall initgraphics + /Helvetica findfont 10 scalefont setfont + /AGMCORE_deltaY 100 def + /AGMCORE_deltaX 310 def + clippath pathbbox np pop pop 36 add exch 36 add exch moveto + 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto + 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath + 0 AGMCORE_&setgray + gsave 1 AGMCORE_&setgray fill grestore + 1 setlinewidth gsave stroke grestore + currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto + /AGMCORE_deltaY 12 def + /AGMCORE_tmp 0 def + AGMCORE_err_strings exch get + { + dup 32 eq + { + pop + AGMCORE_str256 0 AGMCORE_tmp getinterval + stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt + { + currentpoint AGMCORE_deltaY sub exch pop + clippath pathbbox pop pop pop 44 add exch moveto + }if + AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show + 0 1 AGMCORE_str256 length 1 sub + { + AGMCORE_str256 exch 0 put + }for + /AGMCORE_tmp 0 def + }{ + AGMCORE_str256 exch AGMCORE_tmp xpt + /AGMCORE_tmp AGMCORE_tmp 1 add def + }ifelse + }forall +}bdf +/AGMCORE_CMYKDeviceNColorspaces[ + [/Separation/None/DeviceCMYK{0 0 0}] + [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] + [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] + [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] + [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] + [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] + [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] + [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] + [/Separation(Cyan)/DeviceCMYK{0 0 0}] + [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] + [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] + [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] + [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] + [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] + [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] + [/DeviceCMYK] +]def +/ds{ + Adobe_AGM_Core begin + /currentdistillerparams where + { + pop currentdistillerparams/CoreDistVersion get 5000 lt + {<>setdistillerparams}if + }if + /AGMCORE_ps_version xdf + /AGMCORE_ps_level xdf + errordict/AGM_handleerror known not{ + errordict/AGM_handleerror errordict/handleerror get put + errordict/handleerror{ + Adobe_AGM_Core begin + $error/newerror get AGMCORE_cur_err null ne and{ + $error/newerror false put + AGMCORE_cur_err compose_error_msg + }if + $error/newerror true put + end + errordict/AGM_handleerror get exec + }bind put + }if + /AGMCORE_environ_ok + ps_level AGMCORE_ps_level ge + ps_version AGMCORE_ps_version ge and + AGMCORE_ps_level -1 eq or + def + AGMCORE_environ_ok not + {/AGMCORE_cur_err/AGMCORE_bad_environ def}if + /AGMCORE_&setgray systemdict/setgray get def + level2{ + /AGMCORE_&setcolor systemdict/setcolor get def + /AGMCORE_&setcolorspace systemdict/setcolorspace get def + }if + /AGMCORE_currentbg currentblackgeneration def + /AGMCORE_currentucr currentundercolorremoval def + /AGMCORE_Default_flatness currentflat def + /AGMCORE_distilling + /product where{ + pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and + }{ + false + }ifelse + def + /AGMCORE_GSTATE AGMCORE_key_known not{ + /AGMCORE_GSTATE 21 dict def + /AGMCORE_tmpmatrix matrix def + /AGMCORE_gstack 64 array def + /AGMCORE_gstackptr 0 def + /AGMCORE_gstacksaveptr 0 def + /AGMCORE_gstackframekeys 14 def + /AGMCORE_&gsave/gsave ldf + /AGMCORE_&grestore/grestore ldf + /AGMCORE_&grestoreall/grestoreall ldf + /AGMCORE_&save/save ldf + /AGMCORE_&setoverprint/setoverprint ldf + /AGMCORE_gdictcopy{ + begin + {def}forall + end + }def + /AGMCORE_gput{ + AGMCORE_gstack AGMCORE_gstackptr get + 3 1 roll + put + }def + /AGMCORE_gget{ + AGMCORE_gstack AGMCORE_gstackptr get + exch + get + }def + /gsave{ + AGMCORE_&gsave + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 64 ge{limitcheck}if + /AGMCORE_gstackptr exch store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /grestore{ + AGMCORE_&grestore + AGMCORE_gstackptr 1 sub + dup AGMCORE_gstacksaveptr lt{1 add}if + dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known + {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse + /AGMCORE_gstackptr exch store + }def + /grestoreall{ + AGMCORE_&grestoreall + /AGMCORE_gstackptr AGMCORE_gstacksaveptr store + }def + /save{ + AGMCORE_&save + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gstackptr 1 add + dup 64 ge{limitcheck}if + /AGMCORE_gstackptr exch store + /AGMCORE_gstacksaveptr AGMCORE_gstackptr store + AGMCORE_gstack AGMCORE_gstackptr get + AGMCORE_gdictcopy + }def + /setoverprint{ + dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint + }def + 0 1 AGMCORE_gstack length 1 sub{ + AGMCORE_gstack exch AGMCORE_gstackframekeys dict put + }for + }if + level3/AGMCORE_&sysshfill AGMCORE_key_known not and + { + /AGMCORE_&sysshfill systemdict/shfill get def + /AGMCORE_&sysmakepattern systemdict/makepattern get def + /AGMCORE_&usrmakepattern/makepattern load def + }if + /currentcmykcolor[0 0 0 0]AGMCORE_gput + /currentstrokeadjust false AGMCORE_gput + /currentcolorspace[/DeviceGray]AGMCORE_gput + /sep_tint 0 AGMCORE_gput + /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput + /sep_colorspace_dict null AGMCORE_gput + /devicen_colorspace_dict null AGMCORE_gput + /indexed_colorspace_dict null AGMCORE_gput + /currentcolor_intent()AGMCORE_gput + /customcolor_tint 1 AGMCORE_gput + /absolute_colorimetric_crd null AGMCORE_gput + /relative_colorimetric_crd null AGMCORE_gput + /saturation_crd null AGMCORE_gput + /perceptual_crd null AGMCORE_gput + currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf + cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf + << + /MaxPatternItem currentsystemparams/MaxPatternCache get + >> + setuserparams + end +}def +/ps +{ + /setcmykcolor where{ + pop + Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put + }if + Adobe_AGM_Core begin + /setcmykcolor + { + 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput + 1 sub 4 1 roll + 3{ + 3 index add neg dup 0 lt{ + pop 0 + }if + 3 1 roll + }repeat + setrgbcolor pop + }ndf + /currentcmykcolor + { + /currentcmykcolor AGMCORE_gget aload pop + }ndf + /setoverprint + {pop}ndf + /currentoverprint + {false}ndf + /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def + /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def + /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def + /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def + /AGMCORE_plate_ndx + AGMCORE_cyan_plate{ + 0 + }{ + AGMCORE_magenta_plate{ + 1 + }{ + AGMCORE_yellow_plate{ + 2 + }{ + AGMCORE_black_plate{ + 3 + }{ + 4 + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_have_reported_unsupported_color_space false def + /AGMCORE_report_unsupported_color_space + { + AGMCORE_have_reported_unsupported_color_space false eq + { + (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== + Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf + }if + }def + /AGMCORE_composite_job + AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def + /AGMCORE_in_rip_sep + /AGMCORE_in_rip_sep where{ + pop AGMCORE_in_rip_sep + }{ + AGMCORE_distilling + { + false + }{ + userdict/Adobe_AGM_OnHost_Seps known{ + false + }{ + level2{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + }ifelse + }ifelse + }ifelse + def + /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def + /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def + /AGM_preserve_spots + /AGM_preserve_spots where{ + pop AGM_preserve_spots + }{ + AGMCORE_distilling AGMCORE_producing_seps or + }ifelse + def + /AGM_is_distiller_preserving_spotimages + { + currentdistillerparams/PreserveOverprintSettings known + { + currentdistillerparams/PreserveOverprintSettings get + { + currentdistillerparams/ColorConversionStrategy known + { + currentdistillerparams/ColorConversionStrategy get + /sRGB ne + }{ + true + }ifelse + }{ + false + }ifelse + }{ + false + }ifelse + }def + /convert_spot_to_process where{pop}{ + /convert_spot_to_process + { + //Adobe_AGM_Core begin + dup map_alias{ + /Name get exch pop + }if + dup dup(None)eq exch(All)eq or + { + pop false + }{ + AGMCORE_host_sep + { + gsave + 1 0 0 0 setcmykcolor currentgray 1 exch sub + 0 1 0 0 setcmykcolor currentgray 1 exch sub + 0 0 1 0 setcmykcolor currentgray 1 exch sub + 0 0 0 1 setcmykcolor currentgray 1 exch sub + add add add 0 eq + { + pop false + }{ + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + }ifelse + grestore + }{ + AGMCORE_distilling + { + pop AGM_is_distiller_preserving_spotimages not + }{ + //Adobe_AGM_Core/AGMCORE_name xddf + false + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq + AGMUTIL_cpd/OverrideSeparations known and + { + AGMUTIL_cpd/OverrideSeparations get + { + /HqnSpots/ProcSet resourcestatus + { + pop pop pop true + }if + }if + }if + { + AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not + }{ + gsave + [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace + false + AGMUTIL_cpd/SeparationColorNames 2 copy known + { + get + {AGMCORE_name eq or}forall + not + }{ + pop pop pop true + }ifelse + grestore + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + }ifelse + /convert_to_process where{pop}{ + /convert_to_process + { + dup length 0 eq + { + pop false + }{ + AGMCORE_host_sep + { + dup true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process and}ifelse + } + forall + { + true exch + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + (Black)eq or and + }forall + not + }{pop false}ifelse + }{ + false exch + { + /PhotoshopDuotoneList where{pop false}{true}ifelse + { + dup(Cyan)eq exch + dup(Magenta)eq 3 -1 roll or exch + dup(Yellow)eq 3 -1 roll or exch + dup(Black)eq 3 -1 roll or + {pop} + {convert_spot_to_process or}ifelse + } + { + convert_spot_to_process or + } + ifelse + } + forall + }ifelse + }ifelse + }def + }ifelse + /AGMCORE_avoid_L2_sep_space + version cvr 2012 lt + level2 and + AGMCORE_producing_seps not and + def + /AGMCORE_is_cmyk_sep + AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or + def + /AGM_avoid_0_cmyk where{ + pop AGM_avoid_0_cmyk + }{ + AGM_preserve_spots + userdict/Adobe_AGM_OnHost_Seps known + userdict/Adobe_AGM_InRip_Seps known or + not and + }ifelse + { + /setcmykcolor[ + { + 4 copy add add add 0 eq currentoverprint and{ + pop 0.0005 + }if + }/exec cvx + /AGMCORE_&setcmykcolor load dup type/operatortype ne{ + /exec cvx + }if + ]cvx def + }if + /AGMCORE_IsSeparationAProcessColor + { + dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or + }def + AGMCORE_host_sep{ + /setcolortransfer + { + AGMCORE_cyan_plate{ + pop pop pop + }{ + AGMCORE_magenta_plate{ + 4 3 roll pop pop pop + }{ + AGMCORE_yellow_plate{ + 4 2 roll pop pop pop + }{ + 4 1 roll pop pop pop + }ifelse + }ifelse + }ifelse + settransfer + } + def + /AGMCORE_get_ink_data + AGMCORE_cyan_plate{ + {pop pop pop} + }{ + AGMCORE_magenta_plate{ + {4 3 roll pop pop pop} + }{ + AGMCORE_yellow_plate{ + {4 2 roll pop pop pop} + }{ + {4 1 roll pop pop pop} + }ifelse + }ifelse + }ifelse + def + /AGMCORE_RemoveProcessColorNames + { + 1 dict begin + /filtername + { + dup/Cyan eq 1 index(Cyan)eq or + {pop(_cyan_)}if + dup/Magenta eq 1 index(Magenta)eq or + {pop(_magenta_)}if + dup/Yellow eq 1 index(Yellow)eq or + {pop(_yellow_)}if + dup/Black eq 1 index(Black)eq or + {pop(_black_)}if + }def + dup type/arraytype eq + {[exch{filtername}forall]} + {filtername}ifelse + end + }def + level3{ + /AGMCORE_IsCurrentColor + { + dup AGMCORE_IsSeparationAProcessColor + { + AGMCORE_plate_ndx 0 eq + {dup(Cyan)eq exch/Cyan eq or}if + AGMCORE_plate_ndx 1 eq + {dup(Magenta)eq exch/Magenta eq or}if + AGMCORE_plate_ndx 2 eq + {dup(Yellow)eq exch/Yellow eq or}if + AGMCORE_plate_ndx 3 eq + {dup(Black)eq exch/Black eq or}if + AGMCORE_plate_ndx 4 eq + {pop false}if + }{ + gsave + false setoverprint + current_spot_alias false set_spot_alias + 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor + set_spot_alias + currentgray 1 ne + grestore + }ifelse + }def + /AGMCORE_filter_functiondatasource + { + 5 dict begin + /data_in xdf + data_in type/stringtype eq + { + /ncomp xdf + /comp xdf + /string_out data_in length ncomp idiv string def + 0 ncomp data_in length 1 sub + { + string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put + }for + string_out + }{ + string/string_in xdf + /string_out 1 string def + /component xdf + [ + data_in string_in/readstring cvx + [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx + [/pop cvx()]cvx/ifelse cvx + ]cvx/ReusableStreamDecode filter + }ifelse + end + }def + /AGMCORE_separateShadingFunction + { + 2 dict begin + /paint? xdf + /channel xdf + dup type/dicttype eq + { + begin + FunctionType 0 eq + { + /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def + currentdict/Decode known + {/Decode Decode channel 2 mul 2 getinterval def}if + paint? not + {/Decode[1 1]def}if + }if + FunctionType 2 eq + { + paint? + { + /C0[C0 channel get 1 exch sub]def + /C1[C1 channel get 1 exch sub]def + }{ + /C0[1]def + /C1[1]def + }ifelse + }if + FunctionType 3 eq + { + /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def + }if + currentdict/Range known + {/Range[0 1]def}if + currentdict + end}{ + channel get 0 paint? AGMCORE_separateShadingFunction + }ifelse + end + }def + /AGMCORE_separateShading + { + 3 -1 roll begin + currentdict/Function known + { + currentdict/Background known + {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if + Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf + /ColorSpace[/DeviceGray]def + }{ + ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }{ + ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put + }ifelse + ColorSpace 0 get/Separation eq + { + { + [1/exch cvx/sub cvx]cvx + }{ + [/pop cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll put + pop + }{ + { + [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx + }{ + pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx + }ifelse + ColorSpace 3 3 -1 roll bind put + }ifelse + ColorSpace 2/DeviceGray put + }ifelse + end + }def + /AGMCORE_separateShadingDict + { + dup/ColorSpace get + dup type/arraytype ne + {[exch]}if + dup 0 get/DeviceCMYK eq + { + exch begin + currentdict + AGMCORE_cyan_plate + {0 true}if + AGMCORE_magenta_plate + {1 true}if + AGMCORE_yellow_plate + {2 true}if + AGMCORE_black_plate + {3 true}if + AGMCORE_plate_ndx 4 eq + {0 false}if + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + currentdict + end exch + }if + dup 0 get/Separation eq + { + exch begin + ColorSpace 1 get dup/None ne exch/All ne and + { + ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /Separation + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + }if + }ifelse + }{ + currentdict ColorSpace 1 get AGMCORE_IsCurrentColor + 0 exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + }if + currentdict + end exch + }if + dup 0 get/DeviceN eq + { + exch begin + ColorSpace 1 get convert_to_process + { + ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq + { + /ColorSpace + [ + /DeviceN + ColorSpace 1 get + /DeviceGray + [ + ColorSpace 3 get/exec cvx + 4 AGMCORE_plate_ndx sub -1/roll cvx + 4 1/roll cvx + 3[/pop cvx]cvx/repeat cvx + 1/exch cvx/sub cvx + ]cvx + ]def + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + currentdict 0 false AGMCORE_separateShading + /ColorSpace[/DeviceGray]def + }if + }ifelse + }{ + currentdict + false -1 ColorSpace 1 get + { + AGMCORE_IsCurrentColor + { + 1 add + exch pop true exch exit + }if + 1 add + }forall + exch + dup not currentoverprint and + {/AGMCORE_ignoreshade true def}if + AGMCORE_separateShading + }ifelse + currentdict + end exch + }if + dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not + { + exch begin + ColorSpace dup type/arraytype eq + {0 get}if + /DeviceGray ne + { + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate not + { + ColorSpace 0 get/CIEBasedA eq + { + /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def + }if + ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or + { + /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def + }if + ColorSpace 0 get/CIEBasedDEFG eq + { + /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def + }if + currentdict 0 false AGMCORE_separateShading + }if + }if + currentdict + end exch + }if + pop + dup/AGMCORE_ignoreshade known + { + begin + /ColorSpace[/Separation(None)/DeviceGray{}]def + currentdict end + }if + }def + /shfill + { + AGMCORE_separateShadingDict + dup/AGMCORE_ignoreshade known + {pop} + {AGMCORE_&sysshfill}ifelse + }def + /makepattern + { + exch + dup/PatternType get 2 eq + { + clonedict + begin + /Shading Shading AGMCORE_separateShadingDict def + Shading/AGMCORE_ignoreshade known + currentdict end exch + {pop<>}if + exch AGMCORE_&sysmakepattern + }{ + exch AGMCORE_&usrmakepattern + }ifelse + }def + }if + }if + AGMCORE_in_rip_sep{ + /setcustomcolor + { + exch aload pop + dup 7 1 roll inRip_spot_has_ink not { + 4{4 index mul 4 1 roll} + repeat + /DeviceCMYK setcolorspace + 6 -2 roll pop pop + }{ + //Adobe_AGM_Core begin + /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf + end + [/Separation 4 -1 roll/DeviceCMYK + {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} + ] + setcolorspace + }ifelse + setcolor + }ndf + /setseparationgray + { + [/Separation(All)/DeviceGray{}]setcolorspace_opt + 1 exch sub setcolor + }ndf + }{ + /setseparationgray + { + AGMCORE_&setgray + }ndf + }ifelse + /findcmykcustomcolor + { + 5 makereadonlyarray + }ndf + /setcustomcolor + { + exch aload pop pop + 4{4 index mul 4 1 roll}repeat + setcmykcolor pop + }ndf + /has_color + /colorimage where{ + AGMCORE_producing_seps{ + pop true + }{ + systemdict eq + }ifelse + }{ + false + }ifelse + def + /map_index + { + 1 index mul exch getinterval{255 div}forall + }bdf + /map_indexed_devn + { + Lookup Names length 3 -1 roll cvi map_index + }bdf + /n_color_components + { + base_colorspace_type + dup/DeviceGray eq{ + pop 1 + }{ + /DeviceCMYK eq{ + 4 + }{ + 3 + }ifelse + }ifelse + }bdf + level2{ + /mo/moveto ldf + /li/lineto ldf + /cv/curveto ldf + /knockout_unitsq + { + 1 setgray + 0 0 1 1 rectfill + }def + level2/setcolorspace AGMCORE_key_known not and{ + /AGMCORE_&&&setcolorspace/setcolorspace ldf + /AGMCORE_ReplaceMappedColor + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + /AGMCORE_SpotAliasAry2 where{ + begin + dup 0 get dup/Separation eq + { + pop + dup length array copy + dup dup 1 get + current_spot_alias + { + dup map_alias + { + false set_spot_alias + dup 1 exch setsepcolorspace + true set_spot_alias + begin + /sep_colorspace_dict currentdict AGMCORE_gput + pop pop pop + [ + /Separation Name + CSA map_csa + MappedCSA + /sep_colorspace_proc load + ] + dup Name + end + }if + }if + map_reserved_ink_name 1 xpt + }{ + /DeviceN eq + { + dup length array copy + dup dup 1 get[ + exch{ + current_spot_alias{ + dup map_alias{ + /Name get exch pop + }if + }if + map_reserved_ink_name + }forall + ]1 xpt + }if + }ifelse + end + }if + }if + }def + /setcolorspace + { + dup type dup/arraytype eq exch/packedarraytype eq or + { + dup 0 get/Indexed eq + { + AGMCORE_distilling + { + /PhotoshopDuotoneList where + { + pop false + }{ + true + }ifelse + }{ + true + }ifelse + { + aload pop 3 -1 roll + AGMCORE_ReplaceMappedColor + 3 1 roll 4 array astore + }if + }{ + AGMCORE_ReplaceMappedColor + }ifelse + }if + DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if + }def + }if + }{ + /adj + { + currentstrokeadjust{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform + }if + }def + /mo{ + adj moveto + }def + /li{ + adj lineto + }def + /cv{ + 6 2 roll adj + 6 2 roll adj + 6 2 roll adj curveto + }def + /knockout_unitsq + { + 1 setgray + 8 8 1[8 0 0 8 0 0]{}image + }def + /currentstrokeadjust{ + /currentstrokeadjust AGMCORE_gget + }def + /setstrokeadjust{ + /currentstrokeadjust exch AGMCORE_gput + }def + /setcolorspace + { + /currentcolorspace exch AGMCORE_gput + }def + /currentcolorspace + { + /currentcolorspace AGMCORE_gget + }def + /setcolor_devicecolor + { + base_colorspace_type + dup/DeviceGray eq{ + pop setgray + }{ + /DeviceCMYK eq{ + setcmykcolor + }{ + setrgbcolor + }ifelse + }ifelse + }def + /setcolor + { + currentcolorspace 0 get + dup/DeviceGray ne{ + dup/DeviceCMYK ne{ + dup/DeviceRGB ne{ + dup/Separation eq{ + pop + currentcolorspace 3 gx + currentcolorspace 2 get + }{ + dup/Indexed eq{ + pop + currentcolorspace 3 get dup type/stringtype eq{ + currentcolorspace 1 get n_color_components + 3 -1 roll map_index + }{ + exec + }ifelse + currentcolorspace 1 get + }{ + /AGMCORE_cur_err/AGMCORE_invalid_color_space def + AGMCORE_invalid_color_space + }ifelse + }ifelse + }if + }if + }if + setcolor_devicecolor + }def + }ifelse + /sop/setoverprint ldf + /lw/setlinewidth ldf + /lc/setlinecap ldf + /lj/setlinejoin ldf + /ml/setmiterlimit ldf + /dsh/setdash ldf + /sadj/setstrokeadjust ldf + /gry/setgray ldf + /rgb/setrgbcolor ldf + /cmyk[ + /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx + /setcmykcolor load dup type/operatortype ne{/exec cvx}if + ]cvx bdf + level3 AGMCORE_host_sep not and{ + /nzopmsc{ + 6 dict begin + /kk exch def + /yy exch def + /mm exch def + /cc exch def + /sum 0 def + cc 0 ne{/sum sum 2#1000 or def cc}if + mm 0 ne{/sum sum 2#0100 or def mm}if + yy 0 ne{/sum sum 2#0010 or def yy}if + kk 0 ne{/sum sum 2#0001 or def kk}if + AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace + sum 0 eq{0}if + end + setcolor + }bdf + }{ + /nzopmsc/cmyk ldf + }ifelse + /sep/setsepcolor ldf + /devn/setdevicencolor ldf + /idx/setindexedcolor ldf + /colr/setcolor ldf + /csacrd/set_csa_crd ldf + /sepcs/setsepcolorspace ldf + /devncs/setdevicencolorspace ldf + /idxcs/setindexedcolorspace ldf + /cp/closepath ldf + /clp/clp_npth ldf + /eclp/eoclp_npth ldf + /f/fill ldf + /ef/eofill ldf + /@/stroke ldf + /nclp/npth_clp ldf + /gset/graphic_setup ldf + /gcln/graphic_cleanup ldf + /ct/concat ldf + /cf/currentfile ldf + /fl/filter ldf + /rs/readstring ldf + /AGMCORE_def_ht currenthalftone def + /clonedict Adobe_AGM_Utils begin/clonedict load end def + /clonearray Adobe_AGM_Utils begin/clonearray load end def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall + /getrampcolor + { + /indx exch def + 0 1 NumComp 1 sub + { + dup + Samples exch get + dup type/stringtype eq{indx get}if + exch + Scaling exch get aload pop + 3 1 roll + mul add + }for + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /sssetbackground{ + aload pop + ColorSpaceFamily/Separation eq + {sep} + { + ColorSpaceFamily/DeviceN eq + {devn}{setcolor}ifelse + }ifelse + }bdf + /RadialShade + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /r2 xdf + /c2y xdf + /c2x xdf + /r1 xdf + /c1y xdf + /c1x xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + c1x c2x eq + { + c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope c2y c1y sub c2x c1x sub div def + /theta slope 1 atan def + c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if + c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if + }ifelse + gsave + clippath + c1x c1y translate + theta rotate + -90 rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax xdf + /xMax xdf + /yMin xdf + /xMin xdf + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + /max{2 copy gt{pop}{exch pop}ifelse}bdf + /min{2 copy lt{pop}{exch pop}ifelse}bdf + rampdict begin + 40 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + c1x c1y translate + theta rotate + -90 rotate + /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def + /c1y 0 def + /c1x 0 def + /c2x 0 def + ext0 + { + 0 getrampcolor + c2y r2 add r1 sub 0.0001 lt + { + c1x c1y r1 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2y r1 add r2 le + { + c1x c1y r1 0 360 arc + fill + } + { + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r1 neg def + /p1y c1y def + /p2x r1 def + /p2y c1y def + p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y p1x SS1 div neg def + /SS2 90 theta sub dup sin exch cos div def + /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y p2x SS2 div neg def + r1 r2 gt + { + /L1maxX p1x yMin p1y sub SS1 div add def + /L2maxX p2x yMin p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + c1x c2x sub dup mul + c1y c2y sub dup mul + add 0.5 exp + 0 dtransform + dup mul exch dup mul add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + /hires xdf + hires mul + /numpix xdf + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + /xInc c2x c1x sub numsteps div def + /yInc c2y c1y sub numsteps div def + /rInc r2 r1 sub numsteps div def + /cx c1x def + /cy c1y def + /radius r1 def + np + xInc 0 eq yInc 0 eq rInc 0 eq and and + { + 0 getrampcolor + cx cy radius 0 360 arc + stroke + NumSamples 1 sub getrampcolor + cx cy radius 72 hires div add 0 360 arc + 0 setlinewidth + stroke + }{ + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + cx cy radius 0 360 arc + /cx cx xInc add def + /cy cy yInc add def + /radius radius rInc add def + cx cy radius 360 0 arcn + eofill + rampIndxInc add + }repeat + pop + }ifelse + ext1 + { + c2y r2 add r1 lt + { + c2x c2y r2 0 360 arc + fill + }{ + c2y r1 add r2 sub 0.0001 le + { + c2x c2y r2 360 0 arcn + pathbbox + /aymax exch def + /axmax exch def + /aymin exch def + /axmin exch def + /bxMin xMin axmin min def + /byMin yMin aymin min def + /bxMax xMax axmax max def + /byMax yMax aymax max def + bxMin byMin moveto + bxMax byMin lineto + bxMax byMax lineto + bxMin byMax lineto + bxMin byMin lineto + eofill + }{ + c2x c2y r2 0 360 arc fill + r1 r2 eq + { + /p1x r2 neg def + /p1y c2y def + /p2x r2 def + /p2y c2y def + p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto + fill + }{ + /AA r2 r1 sub c2y div def + AA -1 eq + {/theta 89.99 def} + {/theta AA 1 AA dup mul sub sqrt div 1 atan def} + ifelse + /SS1 90 theta add dup sin exch cos div def + /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def + /p1y c2y p1x SS1 div sub def + /SS2 90 theta sub dup sin exch cos div def + /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def + /p2y c2y p2x SS2 div sub def + r1 r2 lt + { + /L1maxX p1x yMax p1y sub SS1 div add def + /L2maxX p2x yMax p2y sub SS2 div add def + }{ + /L1maxX 0 def + /L2maxX 0 def + }ifelse + p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto + L1maxX L1maxX p1x sub SS1 mul p1y add lineto + fill + }ifelse + }ifelse + }ifelse + }if + grestore + grestore + end + end + end + }ifelse + }bdf + /GenStrips + { + 40 dict begin + /ColorSpaceFamily xdf + /background xdf + /ext1 xdf + /ext0 xdf + /BBox xdf + /y2 xdf + /x2 xdf + /y1 xdf + /x1 xdf + /rampdict xdf + /setinkoverprint where{pop/setinkoverprint{pop}def}if + gsave + BBox length 0 gt + { + np + BBox 0 get BBox 1 get moveto + BBox 2 get BBox 0 get sub 0 rlineto + 0 BBox 3 get BBox 1 get sub rlineto + BBox 2 get BBox 0 get sub neg 0 rlineto + closepath + clip + np + }if + x1 x2 eq + { + y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse + }{ + /slope y2 y1 sub x2 x1 sub div def + /theta slope 1 atan def + x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if + x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if + } + ifelse + gsave + clippath + x1 y1 translate + theta rotate + {pathbbox}stopped + {0 0 0 0}if + /yMax exch def + /xMax exch def + /yMin exch def + /xMin exch def + grestore + xMax xMin eq yMax yMin eq or + { + grestore + end + }{ + rampdict begin + 20 dict begin + background length 0 gt{background sssetbackground gsave clippath fill grestore}if + gsave + x1 y1 translate + theta rotate + /xStart 0 def + /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def + /ySpan yMax yMin sub def + /numsteps NumSamples def + /rampIndxInc 1 def + /subsampling false def + xStart 0 transform + xEnd 0 transform + 3 -1 roll + sub dup mul + 3 1 roll + sub dup mul + add 0.5 exp 72 div + 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt + 1 index 1 index lt{exch}if pop + mul + /numpix xdf + numpix 0 ne + { + NumSamples numpix div 0.5 gt + { + /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def + /rampIndxInc NumSamples 1 sub numsteps div def + /subsampling true def + }if + }if + ext0 + { + 0 getrampcolor + xMin xStart lt + { + xMin yMin xMin neg ySpan rectfill + }if + }if + /xInc xEnd xStart sub numsteps div def + /x xStart def + 0 + numsteps + { + dup + subsampling{round cvi}if + getrampcolor + x yMin xInc ySpan rectfill + /x x xInc add def + rampIndxInc add + }repeat + pop + ext1{ + xMax xEnd gt + { + xEnd yMin xMax xEnd sub ySpan rectfill + }if + }if + grestore + grestore + end + end + end + }ifelse + }bdf +}def +/pt +{ + end +}def +/dt{ +}def +/pgsv{ + //Adobe_AGM_Core/AGMCORE_save save put +}def +/pgrs{ + //Adobe_AGM_Core/AGMCORE_save get restore +}def +systemdict/findcolorrendering known{ + /findcolorrendering systemdict/findcolorrendering get def +}if +systemdict/setcolorrendering known{ + /setcolorrendering systemdict/setcolorrendering get def +}if +/test_cmyk_color_plate +{ + gsave + setcmykcolor currentgray 1 ne + grestore +}def +/inRip_spot_has_ink +{ + dup//Adobe_AGM_Core/AGMCORE_name xddf + convert_spot_to_process not +}def +/map255_to_range +{ + 1 index sub + 3 -1 roll 255 div mul add +}def +/set_csa_crd +{ + /sep_colorspace_dict null AGMCORE_gput + begin + CSA get_csa_by_name setcolorspace_opt + set_crd + end +} +def +/map_csa +{ + currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse + {pop}{get_csa_by_name/MappedCSA xdf}ifelse +}def +/setsepcolor +{ + /sep_colorspace_dict AGMCORE_gget begin + dup/sep_tint exch AGMCORE_gput + TintProc + end +}def +/setdevicencolor +{ + /devicen_colorspace_dict AGMCORE_gget begin + Names length copy + Names length 1 sub -1 0 + { + /devicen_tints AGMCORE_gget 3 1 roll xpt + }for + TintProc + end +}def +/sep_colorspace_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + currentdict/Components known{ + Components aload pop + TintMethod/Lab eq{ + 2{AGMCORE_tmp mul NComponents 1 roll}repeat + LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll + }{ + TintMethod/Subtractive eq{ + NComponents{ + AGMCORE_tmp mul NComponents 1 roll + }repeat + }{ + NComponents{ + 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll + }repeat + }ifelse + }ifelse + }{ + ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get + aload pop + }ifelse + end +}def +/sep_colorspace_gray_proc +{ + /AGMCORE_tmp exch store + /sep_colorspace_dict AGMCORE_gget begin + GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get + end +}def +/sep_proc_name +{ + dup 0 get + dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ + pop[/DeviceGray] + /sep_colorspace_gray_proc + }{ + /sep_colorspace_proc + }ifelse +}def +/setsepcolorspace +{ + current_spot_alias{ + dup begin + Name map_alias{ + exch pop + }if + end + }if + dup/sep_colorspace_dict exch AGMCORE_gput + begin + CSA map_csa + /AGMCORE_sep_special Name dup()eq exch(All)eq or store + AGMCORE_avoid_L2_sep_space{ + [/Indexed MappedCSA sep_proc_name 255 exch + {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx + ]setcolorspace_opt + /TintProc{ + 255 mul round cvi setcolor + }bdf + }{ + MappedCSA 0 get/DeviceCMYK eq + currentdict/Components known and + AGMCORE_sep_special not and{ + /TintProc[ + Components aload pop Name findcmykcustomcolor + /exch cvx/setcustomcolor cvx + ]cvx bdf + }{ + AGMCORE_host_sep Name(All)eq and{ + /TintProc{ + 1 exch sub setseparationgray + }bdf + }{ + AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and + AGMCORE_host_sep or + Name()eq and{ + /TintProc[ + MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ + cvx/setcmykcolor cvx + }{ + cvx/setgray cvx + }ifelse + ]cvx bdf + }{ + AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ + /TintProc[ + /dup cvx + MappedCSA sep_proc_name cvx exch + 0 get/DeviceGray eq{ + 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx + }if + /Name cvx/findcmykcustomcolor cvx/exch cvx + AGMCORE_host_sep{ + AGMCORE_is_cmyk_sep + /Name cvx + /AGMCORE_IsSeparationAProcessColor load/exec cvx + /not cvx/and cvx + }{ + Name inRip_spot_has_ink not + }ifelse + [ + /pop cvx 1 + ]cvx/if cvx + /setcustomcolor cvx + ]cvx bdf + }{ + /TintProc{setcolor}bdf + [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + set_crd + setsepcolor + end +}def +/additive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 + 0 1 numarrays 1 sub + { + 1 exch add/index cvx + c1/get cvx/mul cvx + }for + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/subtractive_blend +{ + 3 dict begin + /numarrays xdf + /numcolors xdf + 0 1 numcolors 1 sub + { + /c1 xdf + 1 1 + 0 1 numarrays 1 sub + { + 1 3 3 -1 roll add/index cvx + c1/get cvx/sub cvx/mul cvx + }for + /sub cvx + numarrays 1 add 1/roll cvx + }for + numarrays[/pop cvx]cvx/repeat cvx + end +}def +/exec_tint_transform +{ + /TintProc[ + /TintTransform cvx/setcolor cvx + ]cvx bdf + MappedCSA setcolorspace_opt +}bdf +/devn_makecustomcolor +{ + 2 dict begin + /names_index xdf + /Names xdf + 1 1 1 1 Names names_index get findcmykcustomcolor + /devicen_tints AGMCORE_gget names_index get setcustomcolor + Names length{pop}repeat + end +}bdf +/setdevicencolorspace +{ + dup/AliasedColorants known{false}{true}ifelse + current_spot_alias and{ + 7 dict begin + /names_index 0 def + dup/names_len exch/Names get length def + /new_names names_len array def + /new_LookupTables names_len array def + /alias_cnt 0 def + dup/Names get + { + dup map_alias{ + exch pop + dup/ColorLookup known{ + dup begin + new_LookupTables names_index ColorLookup put + end + }{ + dup/Components known{ + dup begin + new_LookupTables names_index Components put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + new_names names_index 3 -1 roll/Name get put + /alias_cnt alias_cnt 1 add def + }{ + /name xdf + new_names names_index name put + dup/LookupTables known{ + dup begin + new_LookupTables names_index LookupTables names_index get put + end + }{ + dup begin + new_LookupTables names_index[null null null null]put + end + }ifelse + }ifelse + /names_index names_index 1 add def + }forall + alias_cnt 0 gt{ + /AliasedColorants true def + /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def + 0 1 names_len 1 sub{ + /names_index xdf + new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ + /AliasedColorants false def + exit + }{ + new_LookupTables names_index get 0 get null eq{ + dup/Names get names_index get/name xdf + name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq + or or or not{ + /AliasedColorants false def + exit + }if + }if + }ifelse + }for + lut_entry_len 1 eq{ + /AliasedColorants false def + }if + AliasedColorants{ + dup begin + /Names new_names def + /LookupTables new_LookupTables def + /AliasedColorants true def + /NComponents lut_entry_len def + /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def + /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def + currentdict/TTTablesIdx known not{ + /TTTablesIdx -1 def + }if + end + }if + }if + end + }if + dup/devicen_colorspace_dict exch AGMCORE_gput + begin + currentdict/AliasedColorants known{ + AliasedColorants + }{ + false + }ifelse + dup not{ + CSA map_csa + }if + /TintTransform load type/nulltype eq or{ + /TintTransform[ + 0 1 Names length 1 sub + { + /TTTablesIdx TTTablesIdx 1 add def + dup LookupTables exch get dup 0 get null eq + { + 1 index + Names exch get + dup(Cyan)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0 0 0 + } + { + dup(Magenta)eq + { + pop exch + LookupTables length exch sub + /index cvx + 0/exch cvx 0 0 + }{ + (Yellow)eq + { + exch + LookupTables length exch sub + /index cvx + 0 0 3 -1/roll cvx 0 + }{ + exch + LookupTables length exch sub + /index cvx + 0 0 0 4 -1/roll cvx + }ifelse + }ifelse + }ifelse + 5 -1/roll cvx/astore cvx + }{ + dup length 1 sub + LookupTables length 4 -1 roll sub 1 add + /index cvx/mul cvx/round cvx/cvi cvx/get cvx + }ifelse + Names length TTTablesIdx add 1 add 1/roll cvx + }for + Names length[/pop cvx]cvx/repeat cvx + NComponents Names length + TintMethod/Subtractive eq + { + subtractive_blend + }{ + additive_blend + }ifelse + ]cvx bdf + }if + AGMCORE_host_sep{ + Names convert_to_process{ + exec_tint_transform + } + { + currentdict/AliasedColorants known{ + AliasedColorants not + }{ + false + }ifelse + 5 dict begin + /AvoidAliasedColorants xdf + /painted? false def + /names_index 0 def + /names_len Names length def + AvoidAliasedColorants{ + /currentspotalias current_spot_alias def + false set_spot_alias + }if + Names{ + AGMCORE_is_cmyk_sep{ + dup(Cyan)eq AGMCORE_cyan_plate and exch + dup(Magenta)eq AGMCORE_magenta_plate and exch + dup(Yellow)eq AGMCORE_yellow_plate and exch + (Black)eq AGMCORE_black_plate and or or or{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + }if + painted?{exit}if + }{ + 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + Names names_index/devn_makecustomcolor cvx + ]cvx ddf + /painted? true def + exit + }if + }ifelse + /names_index names_index 1 add def + }forall + AvoidAliasedColorants{ + currentspotalias set_spot_alias + }if + painted?{ + /devicen_colorspace_dict AGMCORE_gget/names_index names_index put + }{ + /devicen_colorspace_dict AGMCORE_gget/TintProc[ + names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx + 0 0 0 0/setcmykcolor cvx + ]cvx ddf + }ifelse + end + }ifelse + } + { + AGMCORE_in_rip_sep{ + Names convert_to_process not + }{ + level3 + }ifelse + { + [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt + /TintProc level3 not AGMCORE_in_rip_sep and{ + [ + Names/length cvx[/pop cvx]cvx/repeat cvx + ]cvx bdf + }{ + {setcolor}bdf + }ifelse + }{ + exec_tint_transform + }ifelse + }ifelse + set_crd + /AliasedColorants false def + end +}def +/setindexedcolorspace +{ + dup/indexed_colorspace_dict exch AGMCORE_gput + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + currentdict devncs + }{ + 1 currentdict sepcs + }ifelse + AGMCORE_host_sep{ + 4 dict begin + /compCnt/Names where{pop Names length}{1}ifelse def + /NewLookup HiVal 1 add string def + 0 1 HiVal{ + /tableIndex xdf + Lookup dup type/stringtype eq{ + compCnt tableIndex map_index + }{ + exec + }ifelse + /Names where{ + pop setdevicencolor + }{ + setsepcolor + }ifelse + currentgray + tableIndex exch + 255 mul cvi + NewLookup 3 1 roll put + }for + [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt + end + }{ + level3 + { + currentdict/Names known{ + [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt + }{ + [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt + }ifelse + }{ + [/Indexed MappedCSA HiVal + [ + currentdict/Names known{ + Lookup dup type/stringtype eq + {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} + {/exec cvx}ifelse + /TintTransform load/exec cvx + }{ + Lookup dup type/stringtype eq + {/exch cvx/get cvx 255/div cvx} + {/exec cvx}ifelse + CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx + }ifelse + ]cvx + ]setcolorspace_opt + }ifelse + }ifelse + end + set_crd + } + { + CSA map_csa + AGMCORE_host_sep level2 not and{ + 0 0 0 0 setcmykcolor + }{ + [/Indexed MappedCSA + level2 not has_color not and{ + dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ + pop[/DeviceGray] + }if + HiVal GrayLookup + }{ + HiVal + currentdict/RangeArray known{ + { + /indexed_colorspace_dict AGMCORE_gget begin + Lookup exch + dup HiVal gt{ + pop HiVal + }if + NComponents mul NComponents getinterval{}forall + NComponents 1 sub -1 0{ + RangeArray exch 2 mul 2 getinterval aload pop map255_to_range + NComponents 1 roll + }for + end + }bind + }{ + Lookup + }ifelse + }ifelse + ]setcolorspace_opt + set_crd + }ifelse + }ifelse + end +}def +/setindexedcolor +{ + AGMCORE_host_sep{ + /indexed_colorspace_dict AGMCORE_gget + begin + currentdict/CSDBase known{ + CSDBase/CSD get_res begin + currentdict/Names known{ + map_indexed_devn + devn + } + { + Lookup 1 3 -1 roll map_index + sep + }ifelse + end + }{ + Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll + map_index + MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse + }ifelse + end + }{ + level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ + /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin + map_indexed_devn + devn + end + } + { + setcolor + }ifelse + }ifelse +}def +/ignoreimagedata +{ + currentoverprint not{ + gsave + dup clonedict begin + 1 setgray + /Decode[0 1]def + /DataSourcedef + /MultipleDataSources false def + /BitsPerComponent 8 def + currentdict end + systemdict/image gx + grestore + }if + consumeimagedata +}def +/add_res +{ + dup/CSD eq{ + pop + //Adobe_AGM_Core begin + /AGMCORE_CSD_cache load 3 1 roll put + end + }{ + defineresource pop + }ifelse +}def +/del_res +{ + { + aload pop exch + dup/CSD eq{ + pop + {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall + }{ + exch + {1 index undefineresource}forall + pop + }ifelse + }forall +}def +/get_res +{ + dup/CSD eq{ + pop + dup type dup/nametype eq exch/stringtype eq or{ + AGMCORE_CSD_cache exch get + }if + }{ + findresource + }ifelse +}def +/get_csa_by_name +{ + dup type dup/nametype eq exch/stringtype eq or{ + /CSA get_res + }if +}def +/paintproc_buf_init +{ + /count get 0 0 put +}def +/paintproc_buf_next +{ + dup/count get dup 0 get + dup 3 1 roll + 1 add 0 xpt + get +}def +/cachepaintproc_compress +{ + 5 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + /string_size 16000 def + /readbuffer string_size string def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + /LZWFilter + { + exch + dup length 0 eq{ + pop + }{ + ppdict dup length 1 sub 3 -1 roll put + }ifelse + {string_size}{0}ifelse string + }/LZWEncode filter def + { + ReadFilter readbuffer readstring + exch LZWFilter exch writestring + not{exit}if + }loop + LZWFilter closefile + ppdict + end +}def +/cachepaintproc +{ + 2 dict begin + currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def + /ppdict 20 dict def + currentglobal true setglobal + ppdict 1 array dup 0 1 put/count xpt + setglobal + { + ReadFilter 16000 string readstring exch + ppdict dup length 1 sub 3 -1 roll put + not{exit}if + }loop + ppdict dup dup length 1 sub()put + end +}def +/make_pattern +{ + exch clonedict exch + dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform + exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub + exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub + matrix translate exch matrix concatmatrix + 1 index begin + BBox 0 get XStep div cvi XStep mul/xshift exch neg def + BBox 1 get YStep div cvi YStep mul/yshift exch neg def + BBox 0 get xshift add + BBox 1 get yshift add + BBox 2 get xshift add + BBox 3 get yshift add + 4 array astore + /BBox exch def + [xshift yshift/translate load null/exec load]dup + 3/PaintProc load put cvx/PaintProc exch def + end + gsave 0 setgray + makepattern + grestore +}def +/set_pattern +{ + dup/PatternType get 1 eq{ + dup/PaintType get 1 eq{ + currentoverprint sop[/DeviceGray]setcolorspace 0 setgray + }if + }if + setpattern +}def +/setcolorspace_opt +{ + dup currentcolorspace eq{pop}{setcolorspace}ifelse +}def +/updatecolorrendering +{ + currentcolorrendering/RenderingIntent known{ + currentcolorrendering/RenderingIntent get + } + { + Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd AGMCORE_gget dup null eq + } + { + Intent/Saturation eq + { + /saturation_crd AGMCORE_gget dup null eq + } + { + /perceptual_crd AGMCORE_gget dup null eq + }ifelse + }ifelse + }ifelse + { + pop null + } + { + /RenderingIntent known{null}{Intent}ifelse + }ifelse + }ifelse + Intent ne{ + Intent/ColorRendering{findresource}stopped + { + pop pop systemdict/findcolorrendering known + { + Intent findcolorrendering + { + /ColorRendering findresource true exch + } + { + /ColorRendering findresource + product(Xerox Phaser 5400)ne + exch + }ifelse + dup Intent/AbsoluteColorimetric eq + { + /absolute_colorimetric_crd exch AGMCORE_gput + } + { + Intent/RelativeColorimetric eq + { + /relative_colorimetric_crd exch AGMCORE_gput + } + { + Intent/Saturation eq + { + /saturation_crd exch AGMCORE_gput + } + { + Intent/Perceptual eq + { + /perceptual_crd exch AGMCORE_gput + } + { + pop + }ifelse + }ifelse + }ifelse + }ifelse + 1 index{exch}{pop}ifelse + } + {false}ifelse + } + {true}ifelse + { + dup begin + currentdict/TransformPQR known{ + currentdict/TransformPQR get aload pop + 3{{}eq 3 1 roll}repeat or or + } + {true}ifelse + currentdict/MatrixPQR known{ + currentdict/MatrixPQR get aload pop + 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll + 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq + and and and and and and and and + } + {true}ifelse + end + or + { + clonedict begin + /TransformPQR[ + {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div + 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind + {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div + 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind + {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div + 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind + ]def + /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def + /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def + currentdict end + }if + setcolorrendering_opt + }if + }if +}def +/set_crd +{ + AGMCORE_host_sep not level2 and{ + currentdict/ColorRendering known{ + ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if + }{ + currentdict/Intent known{ + updatecolorrendering + }if + }ifelse + currentcolorspace dup type/arraytype eq + {0 get}if + /DeviceRGB eq + { + currentdict/UCR known + {/UCR}{/AGMCORE_currentucr}ifelse + load setundercolorremoval + currentdict/BG known + {/BG}{/AGMCORE_currentbg}ifelse + load setblackgeneration + }if + }if +}def +/set_ucrbg +{ + dup null eq {pop /AGMCORE_currentbg load}{/Procedure get_res}ifelse + dup currentblackgeneration eq {pop}{setblackgeneration}ifelse + dup null eq {pop /AGMCORE_currentucr load}{/Procedure get_res}ifelse + dup currentundercolorremoval eq {pop}{setundercolorremoval}ifelse +}def +/setcolorrendering_opt +{ + dup currentcolorrendering eq{ + pop + }{ + product(HP Color LaserJet 2605)anchorsearch{ + pop pop pop + }{ + pop + clonedict + begin + /Intent Intent def + currentdict + end + setcolorrendering + }ifelse + }ifelse +}def +/cpaint_gcomp +{ + convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not + { + (%end_cpaint_gcomp)flushinput + }if +}def +/cpaint_gsep +{ + //Adobe_AGM_Core/AGMCORE_ConvertToProcess get + { + (%end_cpaint_gsep)flushinput + }if +}def +/cpaint_gend +{np}def +/T1_path +{ + currentfile token pop currentfile token pop mo + { + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 exch rlineto + currentfile token pop dup type/stringtype eq + {pop exit}if + 0 rlineto + }loop +}def +/T1_gsave + level3 + {/clipsave} + {/gsave}ifelse + load def +/T1_grestore + level3 + {/cliprestore} + {/grestore}ifelse + load def +/set_spot_alias_ary +{ + dup inherit_aliases + //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf +}def +/set_spot_normalization_ary +{ + dup inherit_aliases + dup length + /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if + array + //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf + /AGMCORE_SpotAliasAry where{ + pop + AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval + AGMCORE_SpotAliasAry length + }{0}ifelse + AGMCORE_SpotAliasAry2 3 1 roll exch putinterval + true set_spot_alias +}def +/inherit_aliases +{ + {dup/Name get map_alias{/CSD put}{pop}ifelse}forall +}def +/set_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias 3 -1 roll put + }{ + pop + }ifelse +}def +/current_spot_alias +{ + /AGMCORE_SpotAliasAry2 where{ + /AGMCORE_current_spot_alias get + }{ + false + }ifelse +}def +/map_alias +{ + /AGMCORE_SpotAliasAry2 where{ + begin + /AGMCORE_name xdf + false + AGMCORE_SpotAliasAry2{ + dup/Name get AGMCORE_name eq{ + /CSD get/CSD get_res + exch pop true + exit + }{ + pop + }ifelse + }forall + end + }{ + pop false + }ifelse +}bdf +/spot_alias +{ + true set_spot_alias + /AGMCORE_&setcustomcolor AGMCORE_key_known not{ + //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put + }if + /customcolor_tint 1 AGMCORE_gput + //Adobe_AGM_Core begin + /setcustomcolor + { + //Adobe_AGM_Core begin + dup/customcolor_tint exch AGMCORE_gput + 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not + current_spot_alias and{1 index 4 get map_alias}{false}ifelse + { + false set_spot_alias + /sep_colorspace_dict AGMCORE_gget null ne + {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse + 3 1 roll 2 index{ + exch pop/sep_tint AGMCORE_gget exch + }if + mark 3 1 roll + setsepcolorspace + counttomark 0 ne{ + setsepcolor + }if + pop + not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if + pop + true set_spot_alias + }{ + AGMCORE_&setcustomcolor + }ifelse + end + }bdf + end +}def +/begin_feature +{ + Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put + count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put + {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if +}def +/end_feature +{ + 2 dict begin + /spd/setpagedevice load def + /setpagedevice{get_gstate spd set_gstate}def + stopped{$error/newerror false put}if + end + count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse + countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse + {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if +}def +/set_negative +{ + //Adobe_AGM_Core begin + /AGMCORE_inverting exch def + level2{ + currentpagedevice/NegativePrint known AGMCORE_distilling not and{ + currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ + true begin_feature true{ + <>setpagedevice + }end_feature + }if + /AGMCORE_inverting false def + }if + }if + AGMCORE_inverting{ + [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer + AGMCORE_distilling{ + erasepage + }{ + gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse + /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore + }ifelse + }if + end +}def +/lw_save_restore_override{ + /md where{ + pop + md begin + initializepage + /initializepage{}def + /pmSVsetup{}def + /endp{}def + /pse{}def + /psb{}def + /orig_showpage where + {pop} + {/orig_showpage/showpage load def} + ifelse + /showpage{orig_showpage gR}def + end + }if +}def +/pscript_showpage_override{ + /NTPSOct95 where + { + begin + showpage + save + /showpage/restore load def + /restore{exch pop}def + end + }if +}def +/driver_media_override +{ + /md where{ + pop + md/initializepage known{ + md/initializepage{}put + }if + md/rC known{ + md/rC{4{pop}repeat}put + }if + }if + /mysetup where{ + /mysetup[1 0 0 1 0 0]put + }if + Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put + level2 + {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if +}def +/capture_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put + }if + }if +}def +/restore_mysetup +{ + /Pscript_Win_Data where{ + pop + Pscript_Win_Data/mysetup known{ + Adobe_AGM_Core/save_mysetup known{ + Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put + Adobe_AGM_Core/save_mysetup undef + }if + }if + }if +}def +/driver_check_media_override +{ + /PrepsDict where + {pop} + { + Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne + Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq + { + Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and + Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and + }if + { + Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix + }if + }ifelse +}def +AGMCORE_err_strings begin + /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def + /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def + /AGMCORE_invalid_color_space(This job contains an invalid color space. )def +end +/set_def_ht +{AGMCORE_def_ht sethalftone}def +/set_def_flat +{AGMCORE_Default_flatness setflat}def +end +systemdict/setpacking known +{setpacking}if +%%EndResource +%%BeginResource: procset Adobe_CoolType_Core 2.31 0 +%%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. +%%Version: 2.31 0 +10 dict begin +/Adobe_CoolType_Passthru currentdict def +/Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def +Adobe_CoolType_Core_Defined + {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} +if +userdict/Adobe_CoolType_Core 70 dict dup begin put +/Adobe_CoolType_Version 2.31 def +/Level2? + systemdict/languagelevel known dup + {pop systemdict/languagelevel get 2 ge} + if def +Level2? not + { + /currentglobal false def + /setglobal/pop load def + /gcheck{pop false}bind def + /currentpacking false def + /setpacking/pop load def + /SharedFontDirectory 0 dict def + } +if +currentpacking +true setpacking +currentglobal false setglobal +userdict/Adobe_CoolType_Data 2 copy known not + {2 copy 10 dict put} +if +get + begin + /@opStackCountByLevel 32 dict def + /@opStackLevel 0 def + /@dictStackCountByLevel 32 dict def + /@dictStackLevel 0 def + end +setglobal +currentglobal true setglobal +userdict/Adobe_CoolType_GVMFonts known not + {userdict/Adobe_CoolType_GVMFonts 10 dict put} +if +setglobal +currentglobal false setglobal +userdict/Adobe_CoolType_LVMFonts known not + {userdict/Adobe_CoolType_LVMFonts 10 dict put} +if +setglobal +/ct_VMDictPut + { + dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse + 3 1 roll put + }bind def +/ct_VMDictUndef + { + dup Adobe_CoolType_GVMFonts exch known + {Adobe_CoolType_GVMFonts exch undef} + { + dup Adobe_CoolType_LVMFonts exch known + {Adobe_CoolType_LVMFonts exch undef} + {pop} + ifelse + }ifelse + }bind def +/ct_str1 1 string def +/ct_xshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + _ct_x _ct_y moveto + 0 + rmoveto + } + ifelse + /_ct_i _ct_i 1 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/ct_yshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + _ct_x _ct_y moveto + 0 exch + rmoveto + } + ifelse + /_ct_i _ct_i 1 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/ct_xyshow +{ + /_ct_na exch def + /_ct_i 0 def + currentpoint + /_ct_y exch def + /_ct_x exch def + { + pop pop + ct_str1 exch 0 exch put + ct_str1 show + {_ct_na _ct_i get}stopped + {pop pop} + { + {_ct_na _ct_i 1 add get}stopped + {pop pop pop} + { + _ct_x _ct_y moveto + rmoveto + } + ifelse + } + ifelse + /_ct_i _ct_i 2 add def + currentpoint + /_ct_y exch def + /_ct_x exch def + } + exch + @cshow +}bind def +/xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def +/ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def +/xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def +currentglobal true setglobal +/ct_T3Defs +{ +/BuildChar +{ + 1 index/Encoding get exch get + 1 index/BuildGlyph get exec +}bind def +/BuildGlyph +{ + exch begin + GlyphProcs exch get exec + end +}bind def +}bind def +setglobal +/@_SaveStackLevels + { + Adobe_CoolType_Data + begin + /@vmState currentglobal def false setglobal + @opStackCountByLevel + @opStackLevel + 2 copy known not + { + 2 copy + 3 dict dup/args + 7 index + 5 add array put + put get + } + { + get dup/args get dup length 3 index lt + { + dup length 5 add array exch + 1 index exch 0 exch putinterval + 1 index exch/args exch put + } + {pop} + ifelse + } + ifelse + begin + count 1 sub + 1 index lt + {pop count} + if + dup/argCount exch def + dup 0 gt + { + args exch 0 exch getinterval + astore pop + } + {pop} + ifelse + count + /restCount exch def + end + /@opStackLevel @opStackLevel 1 add def + countdictstack 1 sub + @dictStackCountByLevel exch @dictStackLevel exch put + /@dictStackLevel @dictStackLevel 1 add def + @vmState setglobal + end + }bind def +/@_RestoreStackLevels + { + Adobe_CoolType_Data + begin + /@opStackLevel @opStackLevel 1 sub def + @opStackCountByLevel @opStackLevel get + begin + count restCount sub dup 0 gt + {{pop}repeat} + {pop} + ifelse + args 0 argCount getinterval{}forall + end + /@dictStackLevel @dictStackLevel 1 sub def + @dictStackCountByLevel @dictStackLevel get + end + countdictstack exch sub dup 0 gt + {{end}repeat} + {pop} + ifelse + }bind def +/@_PopStackLevels + { + Adobe_CoolType_Data + begin + /@opStackLevel @opStackLevel 1 sub def + /@dictStackLevel @dictStackLevel 1 sub def + end + }bind def +/@Raise + { + exch cvx exch errordict exch get exec + stop + }bind def +/@ReRaise + { + cvx $error/errorname get errordict exch get exec + stop + }bind def +/@Stopped + { + 0 @#Stopped + }bind def +/@#Stopped + { + @_SaveStackLevels + stopped + {@_RestoreStackLevels true} + {@_PopStackLevels false} + ifelse + }bind def +/@Arg + { + Adobe_CoolType_Data + begin + @opStackCountByLevel @opStackLevel 1 sub get + begin + args exch + argCount 1 sub exch sub get + end + end + }bind def +currentglobal true setglobal +/CTHasResourceForAllBug + Level2? + { + 1 dict dup + /@shouldNotDisappearDictValue true def + Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put + begin + count @_SaveStackLevels + {(*){pop stop}128 string/Category resourceforall} + stopped pop + @_RestoreStackLevels + currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll + { + /@shouldNotDisappearDictValue known + { + { + end + currentdict 1 index eq + {pop exit} + if + } + loop + } + if + } + { + pop + end + } + ifelse + } + {false} + ifelse + def +true setglobal +/CTHasResourceStatusBug + Level2? + { + mark + {/steveamerige/Category resourcestatus} + stopped + {cleartomark true} + {cleartomark currentglobal not} + ifelse + } + {false} + ifelse + def +setglobal +/CTResourceStatus + { + mark 3 1 roll + /Category findresource + begin + ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec + {cleartomark false} + {{3 2 roll pop true}{cleartomark false}ifelse} + ifelse + end + }bind def +/CTWorkAroundBugs + { + Level2? + { + /cid_PreLoad/ProcSet resourcestatus + { + pop pop + currentglobal + mark + { + (*) + { + dup/CMap CTHasResourceStatusBug + {CTResourceStatus} + {resourcestatus} + ifelse + { + pop dup 0 eq exch 1 eq or + { + dup/CMap findresource gcheck setglobal + /CMap undefineresource + } + { + pop CTHasResourceForAllBug + {exit} + {stop} + ifelse + } + ifelse + } + {pop} + ifelse + } + 128 string/CMap resourceforall + } + stopped + {cleartomark} + stopped pop + setglobal + } + if + } + if + }bind def +/ds + { + Adobe_CoolType_Core + begin + CTWorkAroundBugs + /mo/moveto load def + /nf/newencodedfont load def + /msf{makefont setfont}bind def + /uf{dup undefinefont ct_VMDictUndef}bind def + /ur/undefineresource load def + /chp/charpath load def + /awsh/awidthshow load def + /wsh/widthshow load def + /ash/ashow load def + /@xshow/xshow load def + /@yshow/yshow load def + /@xyshow/xyshow load def + /@cshow/cshow load def + /sh/show load def + /rp/repeat load def + /.n/.notdef def + end + currentglobal false setglobal + userdict/Adobe_CoolType_Data 2 copy known not + {2 copy 10 dict put} + if + get + begin + /AddWidths? false def + /CC 0 def + /charcode 2 string def + /@opStackCountByLevel 32 dict def + /@opStackLevel 0 def + /@dictStackCountByLevel 32 dict def + /@dictStackLevel 0 def + /InVMFontsByCMap 10 dict def + /InVMDeepCopiedFonts 10 dict def + end + setglobal + }bind def +/dt + { + currentdict Adobe_CoolType_Core eq + {end} + if + }bind def +/ps + { + Adobe_CoolType_Core begin + Adobe_CoolType_GVMFonts begin + Adobe_CoolType_LVMFonts begin + SharedFontDirectory begin + }bind def +/pt + { + end + end + end + end + }bind def +/unload + { + systemdict/languagelevel known + { + systemdict/languagelevel get 2 ge + { + userdict/Adobe_CoolType_Core 2 copy known + {undef} + {pop pop} + ifelse + } + if + } + if + }bind def +/ndf + { + 1 index where + {pop pop pop} + {dup xcheck{bind}if def} + ifelse + }def +/findfont systemdict + begin + userdict + begin + /globaldict where{/globaldict get begin}if + dup where pop exch get + /globaldict where{pop end}if + end + end +Adobe_CoolType_Core_Defined + {/systemfindfont exch def} + { + /findfont 1 index def + /systemfindfont exch def + } +ifelse +/undefinefont + {pop}ndf +/copyfont + { + currentglobal 3 1 roll + 1 index gcheck setglobal + dup null eq{0}{dup length}ifelse + 2 index length add 1 add dict + begin + exch + { + 1 index/FID eq + {pop pop} + {def} + ifelse + } + forall + dup null eq + {pop} + {{def}forall} + ifelse + currentdict + end + exch setglobal + }bind def +/copyarray + { + currentglobal exch + dup gcheck setglobal + dup length array copy + exch setglobal + }bind def +/newencodedfont + { + currentglobal + { + SharedFontDirectory 3 index known + {SharedFontDirectory 3 index get/FontReferenced known} + {false} + ifelse + } + { + FontDirectory 3 index known + {FontDirectory 3 index get/FontReferenced known} + { + SharedFontDirectory 3 index known + {SharedFontDirectory 3 index get/FontReferenced known} + {false} + ifelse + } + ifelse + } + ifelse + dup + { + 3 index findfont/FontReferenced get + 2 index dup type/nametype eq + {findfont} + if ne + {pop false} + if + } + if + dup + { + 1 index dup type/nametype eq + {findfont} + if + dup/CharStrings known + { + /CharStrings get length + 4 index findfont/CharStrings get length + ne + { + pop false + } + if + } + {pop} + ifelse + } + if + { + pop + 1 index findfont + /Encoding get exch + 0 1 255 + {2 copy get 3 index 3 1 roll put} + for + pop pop pop + } + { + currentglobal + 4 1 roll + dup type/nametype eq + {findfont} + if + dup gcheck setglobal + dup dup maxlength 2 add dict + begin + exch + { + 1 index/FID ne + 2 index/Encoding ne and + {def} + {pop pop} + ifelse + } + forall + /FontReferenced exch def + /Encoding exch dup length array copy def + /FontName 1 index dup type/stringtype eq{cvn}if def dup + currentdict + end + definefont ct_VMDictPut + setglobal + } + ifelse + }bind def +/SetSubstituteStrategy + { + $SubstituteFont + begin + dup type/dicttype ne + {0 dict} + if + currentdict/$Strategies known + { + exch $Strategies exch + 2 copy known + { + get + 2 copy maxlength exch maxlength add dict + begin + {def}forall + {def}forall + currentdict + dup/$Init known + {dup/$Init get exec} + if + end + /$Strategy exch def + } + {pop pop pop} + ifelse + } + {pop pop} + ifelse + end + }bind def +/scff + { + $SubstituteFont + begin + dup type/stringtype eq + {dup length exch} + {null} + ifelse + /$sname exch def + /$slen exch def + /$inVMIndex + $sname null eq + { + 1 index $str cvs + dup length $slen sub $slen getinterval cvn + } + {$sname} + ifelse def + end + {findfont} + @Stopped + { + dup length 8 add string exch + 1 index 0(BadFont:)putinterval + 1 index exch 8 exch dup length string cvs putinterval cvn + {findfont} + @Stopped + {pop/Courier findfont} + if + } + if + $SubstituteFont + begin + /$sname null def + /$slen 0 def + /$inVMIndex null def + end + }bind def +/isWidthsOnlyFont + { + dup/WidthsOnly known + {pop pop true} + { + dup/FDepVector known + {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} + { + dup/FDArray known + {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} + {pop} + ifelse + } + ifelse + } + ifelse + }bind def +/ct_StyleDicts 4 dict dup begin + /Adobe-Japan1 4 dict dup begin + Level2? + { + /Serif + /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiMin-W3} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiMin-W3/CIDFont resourcestatus + {pop pop/HeiseiMin-W3} + {/Ryumin-Light} + ifelse + } + {/Ryumin-Light} + ifelse + } + ifelse + def + /SansSerif + /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiKakuGo-W5} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiKakuGo-W5/CIDFont resourcestatus + {pop pop/HeiseiKakuGo-W5} + {/GothicBBB-Medium} + ifelse + } + {/GothicBBB-Medium} + ifelse + } + ifelse + def + /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus + {pop pop/HeiseiMaruGo-W4} + { + /CIDFont/Category resourcestatus + { + pop pop + /HeiseiMaruGo-W4/CIDFont resourcestatus + {pop pop/HeiseiMaruGo-W4} + { + /Jun101-Light-RKSJ-H/Font resourcestatus + {pop pop/Jun101-Light} + {SansSerif} + ifelse + } + ifelse + } + { + /Jun101-Light-RKSJ-H/Font resourcestatus + {pop pop/Jun101-Light} + {SansSerif} + ifelse + } + ifelse + } + ifelse + /RoundSansSerif exch def + /Default Serif def + } + { + /Serif/Ryumin-Light def + /SansSerif/GothicBBB-Medium def + { + (fonts/Jun101-Light-83pv-RKSJ-H)status + }stopped + {pop}{ + {pop pop pop pop/Jun101-Light} + {SansSerif} + ifelse + /RoundSansSerif exch def + }ifelse + /Default Serif def + } + ifelse + end + def + /Adobe-Korea1 4 dict dup begin + /Serif/HYSMyeongJo-Medium def + /SansSerif/HYGoThic-Medium def + /RoundSansSerif SansSerif def + /Default Serif def + end + def + /Adobe-GB1 4 dict dup begin + /Serif/STSong-Light def + /SansSerif/STHeiti-Regular def + /RoundSansSerif SansSerif def + /Default Serif def + end + def + /Adobe-CNS1 4 dict dup begin + /Serif/MKai-Medium def + /SansSerif/MHei-Medium def + /RoundSansSerif SansSerif def + /Default Serif def + end + def +end +def +Level2?{currentglobal true setglobal}if +/ct_BoldRomanWidthProc + { + stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth + 0 0 + }bind def +/ct_Type0WidthProc + { + dup stringwidth 0 0 moveto + 2 index true charpath pathbbox + 0 -1 + 7 index 2 div .88 + setcachedevice2 + pop + 0 0 + }bind def +/ct_Type0WMode1WidthProc + { + dup stringwidth + pop 2 div neg -0.88 + 2 copy + moveto + 0 -1 + 5 -1 roll true charpath pathbbox + setcachedevice + }bind def +/cHexEncoding +[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 +/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 +/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 +/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B +/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E +/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 +/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 +/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 +/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA +/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD +/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 +/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 +/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 +/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def +/ct_BoldBaseFont + 11 dict begin + /FontType 3 def + /FontMatrix[1 0 0 1 0 0]def + /FontBBox[0 0 1 1]def + /Encoding cHexEncoding def + /_setwidthProc/ct_BoldRomanWidthProc load def + /_bcstr1 1 string def + /BuildChar + { + exch begin + _basefont setfont + _bcstr1 dup 0 4 -1 roll put + dup + _setwidthProc + 3 copy + moveto + show + _basefonto setfont + moveto + show + end + }bind def + currentdict + end +def +systemdict/composefont known +{ +/ct_DefineIdentity-H +{ + /Identity-H/CMap resourcestatus + { + pop pop + } + { + /CIDInit/ProcSet findresource begin + 12 dict begin + begincmap + /CIDSystemInfo 3 dict dup begin + /Registry(Adobe)def + /Ordering(Identity)def + /Supplement 0 def + end def + /CMapName/Identity-H def + /CMapVersion 1.000 def + /CMapType 1 def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + ifelse +} +def +/ct_BoldBaseCIDFont + 11 dict begin + /CIDFontType 1 def + /CIDFontName/ct_BoldBaseCIDFont def + /FontMatrix[1 0 0 1 0 0]def + /FontBBox[0 0 1 1]def + /_setwidthProc/ct_Type0WidthProc load def + /_bcstr2 2 string def + /BuildGlyph + { + exch begin + _basefont setfont + _bcstr2 1 2 index 256 mod put + _bcstr2 0 3 -1 roll 256 idiv put + _bcstr2 dup _setwidthProc + 3 copy + moveto + show + _basefonto setfont + moveto + show + end + }bind def + currentdict + end +def +}if +Level2?{setglobal}if +/ct_CopyFont{ + { + 1 index/FID ne 2 index/UniqueID ne and + {def}{pop pop}ifelse + }forall +}bind def +/ct_Type0CopyFont +{ + exch + dup length dict + begin + ct_CopyFont + [ + exch + FDepVector + { + dup/FontType get 0 eq + { + 1 index ct_Type0CopyFont + /_ctType0 exch definefont + } + { + /_ctBaseFont exch + 2 index exec + } + ifelse + exch + } + forall + pop + ] + /FDepVector exch def + currentdict + end +}bind def +/ct_MakeBoldFont +{ + dup/ct_SyntheticBold known + { + dup length 3 add dict begin + ct_CopyFont + /ct_StrokeWidth .03 0 FontMatrix idtransform pop def + /ct_SyntheticBold true def + currentdict + end + definefont + } + { + dup dup length 3 add dict + begin + ct_CopyFont + /PaintType 2 def + /StrokeWidth .03 0 FontMatrix idtransform pop def + /dummybold currentdict + end + definefont + dup/FontType get dup 9 ge exch 11 le and + { + ct_BoldBaseCIDFont + dup length 3 add dict copy begin + dup/CIDSystemInfo get/CIDSystemInfo exch def + ct_DefineIdentity-H + /_Type0Identity/Identity-H 3 -1 roll[exch]composefont + /_basefont exch def + /_Type0Identity/Identity-H 3 -1 roll[exch]composefont + /_basefonto exch def + currentdict + end + /CIDFont defineresource + } + { + ct_BoldBaseFont + dup length 3 add dict copy begin + /_basefont exch def + /_basefonto exch def + currentdict + end + definefont + } + ifelse + } + ifelse +}bind def +/ct_MakeBold{ + 1 index + 1 index + findfont + currentglobal 5 1 roll + dup gcheck setglobal + dup + /FontType get 0 eq + { + dup/WMode known{dup/WMode get 1 eq}{false}ifelse + version length 4 ge + and + {version 0 4 getinterval cvi 2015 ge} + {true} + ifelse + {/ct_Type0WidthProc} + {/ct_Type0WMode1WidthProc} + ifelse + ct_BoldBaseFont/_setwidthProc 3 -1 roll load put + {ct_MakeBoldFont}ct_Type0CopyFont definefont + } + { + dup/_fauxfont known not 1 index/SubstMaster known not and + { + ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put + ct_MakeBoldFont + } + { + 2 index 2 index eq + {exch pop } + { + dup length dict begin + ct_CopyFont + currentdict + end + definefont + } + ifelse + } + ifelse + } + ifelse + pop pop pop + setglobal +}bind def +/?str1 256 string def +/?set + { + $SubstituteFont + begin + /$substituteFound false def + /$fontname 1 index def + /$doSmartSub false def + end + dup + findfont + $SubstituteFont + begin + $substituteFound + {false} + { + dup/FontName known + { + dup/FontName get $fontname eq + 1 index/DistillerFauxFont known not and + /currentdistillerparams where + {pop false 2 index isWidthsOnlyFont not and} + if + } + {false} + ifelse + } + ifelse + exch pop + /$doSmartSub true def + end + { + 5 1 roll pop pop pop pop + findfont + } + { + 1 index + findfont + dup/FontType get 3 eq + { + 6 1 roll pop pop pop pop pop false + } + {pop true} + ifelse + { + $SubstituteFont + begin + pop pop + /$styleArray 1 index def + /$regOrdering 2 index def + pop pop + 0 1 $styleArray length 1 sub + { + $styleArray exch get + ct_StyleDicts $regOrdering + 2 copy known + { + get + exch 2 copy known not + {pop/Default} + if + get + dup type/nametype eq + { + ?str1 cvs length dup 1 add exch + ?str1 exch(-)putinterval + exch dup length exch ?str1 exch 3 index exch putinterval + add ?str1 exch 0 exch getinterval cvn + } + { + pop pop/Unknown + } + ifelse + } + { + pop pop pop pop/Unknown + } + ifelse + } + for + end + findfont + }if + } + ifelse + currentglobal false setglobal 3 1 roll + null copyfont definefont pop + setglobal + }bind def +setpacking +userdict/$SubstituteFont 25 dict put +1 dict + begin + /SubstituteFont + dup $error exch 2 copy known + {get} + {pop pop{pop/Courier}bind} + ifelse def + /currentdistillerparams where dup + { + pop pop + currentdistillerparams/CannotEmbedFontPolicy 2 copy known + {get/Error eq} + {pop pop false} + ifelse + } + if not + { + countdictstack array dictstack 0 get + begin + userdict + begin + $SubstituteFont + begin + /$str 128 string def + /$fontpat 128 string def + /$slen 0 def + /$sname null def + /$match false def + /$fontname null def + /$substituteFound false def + /$inVMIndex null def + /$doSmartSub true def + /$depth 0 def + /$fontname null def + /$italicangle 26.5 def + /$dstack null def + /$Strategies 10 dict dup + begin + /$Type3Underprint + { + currentglobal exch false setglobal + 11 dict + begin + /UseFont exch + $WMode 0 ne + { + dup length dict copy + dup/WMode $WMode put + /UseFont exch definefont + } + if def + /FontName $fontname dup type/stringtype eq{cvn}if def + /FontType 3 def + /FontMatrix[.001 0 0 .001 0 0]def + /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def + /FontBBox[0 0 0 0]def + /CCInfo 7 dict dup + begin + /cc null def + /x 0 def + /y 0 def + end def + /BuildChar + { + exch + begin + CCInfo + begin + 1 string dup 0 3 index put exch pop + /cc exch def + UseFont 1000 scalefont setfont + cc stringwidth/y exch def/x exch def + x y setcharwidth + $SubstituteFont/$Strategy get/$Underprint get exec + 0 0 moveto cc show + x y moveto + end + end + }bind def + currentdict + end + exch setglobal + }bind def + /$GetaTint + 2 dict dup + begin + /$BuildFont + { + dup/WMode known + {dup/WMode get} + {0} + ifelse + /$WMode exch def + $fontname exch + dup/FontName known + { + dup/FontName get + dup type/stringtype eq{cvn}if + } + {/unnamedfont} + ifelse + exch + Adobe_CoolType_Data/InVMDeepCopiedFonts get + 1 index/FontName get known + { + pop + Adobe_CoolType_Data/InVMDeepCopiedFonts get + 1 index get + null copyfont + } + {$deepcopyfont} + ifelse + exch 1 index exch/FontBasedOn exch put + dup/FontName $fontname dup type/stringtype eq{cvn}if put + definefont + Adobe_CoolType_Data/InVMDeepCopiedFonts get + begin + dup/FontBasedOn get 1 index def + end + }bind def + /$Underprint + { + gsave + x abs y abs gt + {/y 1000 def} + {/x -1000 def 500 120 translate} + ifelse + Level2? + { + [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] + setcolorspace + } + {0 setgray} + ifelse + 10 setlinewidth + x .8 mul + [7 3] + { + y mul 8 div 120 sub x 10 div exch moveto + 0 y 4 div neg rlineto + dup 0 rlineto + 0 y 4 div rlineto + closepath + gsave + Level2? + {.2 setcolor} + {.8 setgray} + ifelse + fill grestore + stroke + } + forall + pop + grestore + }bind def + end def + /$Oblique + 1 dict dup + begin + /$BuildFont + { + currentglobal exch dup gcheck setglobal + null copyfont + begin + /FontBasedOn + currentdict/FontName known + { + FontName + dup type/stringtype eq{cvn}if + } + {/unnamedfont} + ifelse + def + /FontName $fontname dup type/stringtype eq{cvn}if def + /currentdistillerparams where + {pop} + { + /FontInfo currentdict/FontInfo known + {FontInfo null copyfont} + {2 dict} + ifelse + dup + begin + /ItalicAngle $italicangle def + /FontMatrix FontMatrix + [1 0 ItalicAngle dup sin exch cos div 1 0 0] + matrix concatmatrix readonly + end + 4 2 roll def + def + } + ifelse + FontName currentdict + end + definefont + exch setglobal + }bind def + end def + /$None + 1 dict dup + begin + /$BuildFont{}bind def + end def + end def + /$Oblique SetSubstituteStrategy + /$findfontByEnum + { + dup type/stringtype eq{cvn}if + dup/$fontname exch def + $sname null eq + {$str cvs dup length $slen sub $slen getinterval} + {pop $sname} + ifelse + $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval + /$match false def + $SubstituteFont/$dstack countdictstack array dictstack put + mark + { + $fontpat 0 $slen 7 add getinterval + {/$match exch def exit} + $str filenameforall + } + stopped + { + cleardictstack + currentdict + true + $SubstituteFont/$dstack get + { + exch + { + 1 index eq + {pop false} + {true} + ifelse + } + {begin false} + ifelse + } + forall + pop + } + if + cleartomark + /$slen 0 def + $match false ne + {$match(fonts/)anchorsearch pop pop cvn} + {/Courier} + ifelse + }bind def + /$ROS 1 dict dup + begin + /Adobe 4 dict dup + begin + /Japan1 [/Ryumin-Light/HeiseiMin-W3 + /GothicBBB-Medium/HeiseiKakuGo-W5 + /HeiseiMaruGo-W4/Jun101-Light]def + /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def + /GB1 [/STSong-Light/STHeiti-Regular]def + /CNS1 [/MKai-Medium/MHei-Medium]def + end def + end def + /$cmapname null def + /$deepcopyfont + { + dup/FontType get 0 eq + { + 1 dict dup/FontName/copied put copyfont + begin + /FDepVector FDepVector copyarray + 0 1 2 index length 1 sub + { + 2 copy get $deepcopyfont + dup/FontName/copied put + /copied exch definefont + 3 copy put pop pop + } + for + def + currentdict + end + } + {$Strategies/$Type3Underprint get exec} + ifelse + }bind def + /$buildfontname + { + dup/CIDFont findresource/CIDSystemInfo get + begin + Registry length Ordering length Supplement 8 string cvs + 3 copy length 2 add add add string + dup 5 1 roll dup 0 Registry putinterval + dup 4 index(-)putinterval + dup 4 index 1 add Ordering putinterval + 4 2 roll add 1 add 2 copy(-)putinterval + end + 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch + anchorsearch + {pop pop 3 2 roll putinterval cvn/$cmapname exch def} + {pop pop pop pop pop} + ifelse + length + $str 1 index(-)putinterval 1 add + $str 1 index $cmapname $fontpat cvs putinterval + $cmapname length add + $str exch 0 exch getinterval cvn + }bind def + /$findfontByROS + { + /$fontname exch def + $ROS Registry 2 copy known + { + get Ordering 2 copy known + {get} + {pop pop[]} + ifelse + } + {pop pop[]} + ifelse + false exch + { + dup/CIDFont resourcestatus + { + pop pop + save + 1 index/CIDFont findresource + dup/WidthsOnly known + {dup/WidthsOnly get} + {false} + ifelse + exch pop + exch restore + {pop} + {exch pop true exit} + ifelse + } + {pop} + ifelse + } + forall + {$str cvs $buildfontname} + { + false(*) + { + save exch + dup/CIDFont findresource + dup/WidthsOnly known + {dup/WidthsOnly get not} + {true} + ifelse + exch/CIDSystemInfo get + dup/Registry get Registry eq + exch/Ordering get Ordering eq and and + {exch restore exch pop true exit} + {pop restore} + ifelse + } + $str/CIDFont resourceforall + {$buildfontname} + {$fontname $findfontByEnum} + ifelse + } + ifelse + }bind def + end + end + currentdict/$error known currentdict/languagelevel known and dup + {pop $error/SubstituteFont known} + if + dup + {$error} + {Adobe_CoolType_Core} + ifelse + begin + { + /SubstituteFont + /CMap/Category resourcestatus + { + pop pop + { + $SubstituteFont + begin + /$substituteFound true def + dup length $slen gt + $sname null ne or + $slen 0 gt and + { + $sname null eq + {dup $str cvs dup length $slen sub $slen getinterval cvn} + {$sname} + ifelse + Adobe_CoolType_Data/InVMFontsByCMap get + 1 index 2 copy known + { + get + false exch + { + pop + currentglobal + { + GlobalFontDirectory 1 index known + {exch pop true exit} + {pop} + ifelse + } + { + FontDirectory 1 index known + {exch pop true exit} + { + GlobalFontDirectory 1 index known + {exch pop true exit} + {pop} + ifelse + } + ifelse + } + ifelse + } + forall + } + {pop pop false} + ifelse + { + exch pop exch pop + } + { + dup/CMap resourcestatus + { + pop pop + dup/$cmapname exch def + /CMap findresource/CIDSystemInfo get{def}forall + $findfontByROS + } + { + 128 string cvs + dup(-)search + { + 3 1 roll search + { + 3 1 roll pop + {dup cvi} + stopped + {pop pop pop pop pop $findfontByEnum} + { + 4 2 roll pop pop + exch length + exch + 2 index length + 2 index + sub + exch 1 sub -1 0 + { + $str cvs dup length + 4 index + 0 + 4 index + 4 3 roll add + getinterval + exch 1 index exch 3 index exch + putinterval + dup/CMap resourcestatus + { + pop pop + 4 1 roll pop pop pop + dup/$cmapname exch def + /CMap findresource/CIDSystemInfo get{def}forall + $findfontByROS + true exit + } + {pop} + ifelse + } + for + dup type/booleantype eq + {pop} + {pop pop pop $findfontByEnum} + ifelse + } + ifelse + } + {pop pop pop $findfontByEnum} + ifelse + } + {pop pop $findfontByEnum} + ifelse + } + ifelse + } + ifelse + } + {//SubstituteFont exec} + ifelse + /$slen 0 def + end + } + } + { + { + $SubstituteFont + begin + /$substituteFound true def + dup length $slen gt + $sname null ne or + $slen 0 gt and + {$findfontByEnum} + {//SubstituteFont exec} + ifelse + end + } + } + ifelse + bind readonly def + Adobe_CoolType_Core/scfindfont/systemfindfont load put + } + { + /scfindfont + { + $SubstituteFont + begin + dup systemfindfont + dup/FontName known + {dup/FontName get dup 3 index ne} + {/noname true} + ifelse + dup + { + /$origfontnamefound 2 index def + /$origfontname 4 index def/$substituteFound true def + } + if + exch pop + { + $slen 0 gt + $sname null ne + 3 index length $slen gt or and + { + pop dup $findfontByEnum findfont + dup maxlength 1 add dict + begin + {1 index/FID eq{pop pop}{def}ifelse} + forall + currentdict + end + definefont + dup/FontName known{dup/FontName get}{null}ifelse + $origfontnamefound ne + { + $origfontname $str cvs print + ( substitution revised, using )print + dup/FontName known + {dup/FontName get}{(unspecified font)} + ifelse + $str cvs print(.\n)print + } + if + } + {exch pop} + ifelse + } + {exch pop} + ifelse + end + }bind def + } + ifelse + end + end + Adobe_CoolType_Core_Defined not + { + Adobe_CoolType_Core/findfont + { + $SubstituteFont + begin + $depth 0 eq + { + /$fontname 1 index dup type/stringtype ne{$str cvs}if def + /$substituteFound false def + } + if + /$depth $depth 1 add def + end + scfindfont + $SubstituteFont + begin + /$depth $depth 1 sub def + $substituteFound $depth 0 eq and + { + $inVMIndex null ne + {dup $inVMIndex $AddInVMFont} + if + $doSmartSub + { + currentdict/$Strategy known + {$Strategy/$BuildFont get exec} + if + } + if + } + if + end + }bind put + } + if + } + if + end +/$AddInVMFont + { + exch/FontName 2 copy known + { + get + 1 dict dup begin exch 1 index gcheck def end exch + Adobe_CoolType_Data/InVMFontsByCMap get exch + $DictAdd + } + {pop pop pop} + ifelse + }bind def +/$DictAdd + { + 2 copy known not + {2 copy 4 index length dict put} + if + Level2? not + { + 2 copy get dup maxlength exch length 4 index length add lt + 2 copy get dup length 4 index length add exch maxlength 1 index lt + { + 2 mul dict + begin + 2 copy get{forall}def + 2 copy currentdict put + end + } + {pop} + ifelse + } + if + get + begin + {def} + forall + end + }bind def +end +end +%%EndResource +currentglobal true setglobal +%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. +%%Version: 1.23 0 +systemdict/languagelevel known dup + {currentglobal false setglobal} + {false} +ifelse +exch +userdict/Adobe_CoolType_Utility 2 copy known + {2 copy get dup maxlength 27 add dict copy} + {27 dict} +ifelse put +Adobe_CoolType_Utility + begin + /@eexecStartData + def + /@recognizeCIDFont null def + /ct_Level2? exch def + /ct_Clone? 1183615869 internaldict dup + /CCRun known not + exch/eCCRun known not + ct_Level2? and or def +ct_Level2? + {globaldict begin currentglobal true setglobal} +if + /ct_AddStdCIDMap + ct_Level2? + {{ + mark + Adobe_CoolType_Utility/@recognizeCIDFont currentdict put + { + ((Hex)57 StartData + 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 + 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 + d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 + cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec + } + stopped + { + cleartomark + Adobe_CoolType_Utility/@recognizeCIDFont get + countdictstack dup array dictstack + exch 1 sub -1 0 + { + 2 copy get 3 index eq + {1 index length exch sub 1 sub{end}repeat exit} + {pop} + ifelse + } + for + pop pop + Adobe_CoolType_Utility/@eexecStartData get eexec + } + {cleartomark} + ifelse + }} + {{ + Adobe_CoolType_Utility/@eexecStartData get eexec + }} + ifelse bind def +userdict/cid_extensions known +dup{cid_extensions/cid_UpdateDB known and}if + { + cid_extensions + begin + /cid_GetCIDSystemInfo + { + 1 index type/stringtype eq + {exch cvn exch} + if + cid_extensions + begin + dup load 2 index known + { + 2 copy + cid_GetStatusInfo + dup null ne + { + 1 index load + 3 index get + dup null eq + {pop pop cid_UpdateDB} + { + exch + 1 index/Created get eq + {exch pop exch pop} + {pop cid_UpdateDB} + ifelse + } + ifelse + } + {pop cid_UpdateDB} + ifelse + } + {cid_UpdateDB} + ifelse + end + }bind def + end + } +if +ct_Level2? + {end setglobal} +if + /ct_UseNativeCapability? systemdict/composefont known def + /ct_MakeOCF 35 dict def + /ct_Vars 25 dict def + /ct_GlyphDirProcs 6 dict def + /ct_BuildCharDict 15 dict dup + begin + /charcode 2 string def + /dst_string 1500 string def + /nullstring()def + /usewidths? true def + end def + ct_Level2?{setglobal}{pop}ifelse + ct_GlyphDirProcs + begin + /GetGlyphDirectory + { + systemdict/languagelevel known + {pop/CIDFont findresource/GlyphDirectory get} + { + 1 index/CIDFont findresource/GlyphDirectory + get dup type/dicttype eq + { + dup dup maxlength exch length sub 2 index lt + { + dup length 2 index add dict copy 2 index + /CIDFont findresource/GlyphDirectory 2 index put + } + if + } + if + exch pop exch pop + } + ifelse + + + }def + /+ + { + systemdict/languagelevel known + { + currentglobal false setglobal + 3 dict begin + /vm exch def + } + {1 dict begin} + ifelse + /$ exch def + systemdict/languagelevel known + { + vm setglobal + /gvm currentglobal def + $ gcheck setglobal + } + if + ?{$ begin}if + }def + /?{$ type/dicttype eq}def + /|{ + userdict/Adobe_CoolType_Data known + { + Adobe_CoolType_Data/AddWidths? known + { + currentdict Adobe_CoolType_Data + begin + begin + AddWidths? + { + Adobe_CoolType_Data/CC 3 index put + ?{def}{$ 3 1 roll put}ifelse + CC charcode exch 1 index 0 2 index 256 idiv put + 1 index exch 1 exch 256 mod put + stringwidth 2 array astore + currentfont/Widths get exch CC exch put + } + {?{def}{$ 3 1 roll put}ifelse} + ifelse + end + end + } + {?{def}{$ 3 1 roll put}ifelse} ifelse + } + {?{def}{$ 3 1 roll put}ifelse} + ifelse + }def + /! + { + ?{end}if + systemdict/languagelevel known + {gvm setglobal} + if + end + }def + /:{string currentfile exch readstring pop}executeonly def + end + ct_MakeOCF + begin + /ct_cHexEncoding + [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 + /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 + /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 + /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B + /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E + /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 + /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 + /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 + /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA + /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD + /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 + /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 + /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 + /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def + /ct_CID_STR_SIZE 8000 def + /ct_mkocfStr100 100 string def + /ct_defaultFontMtx[.001 0 0 .001 0 0]def + /ct_1000Mtx[1000 0 0 1000 0 0]def + /ct_raise{exch cvx exch errordict exch get exec stop}bind def + /ct_reraise + {cvx $error/errorname get(Error: )print dup( )cvs print + errordict exch get exec stop + }bind def + /ct_cvnsi + { + 1 index add 1 sub 1 exch 0 4 1 roll + { + 2 index exch get + exch 8 bitshift + add + } + for + exch pop + }bind def + /ct_GetInterval + { + Adobe_CoolType_Utility/ct_BuildCharDict get + begin + /dst_index 0 def + dup dst_string length gt + {dup string/dst_string exch def} + if + 1 index ct_CID_STR_SIZE idiv + /arrayIndex exch def + 2 index arrayIndex get + 2 index + arrayIndex ct_CID_STR_SIZE mul + sub + { + dup 3 index add 2 index length le + { + 2 index getinterval + dst_string dst_index 2 index putinterval + length dst_index add/dst_index exch def + exit + } + { + 1 index length 1 index sub + dup 4 1 roll + getinterval + dst_string dst_index 2 index putinterval + pop dup dst_index add/dst_index exch def + sub + /arrayIndex arrayIndex 1 add def + 2 index dup length arrayIndex gt + {arrayIndex get} + { + pop + exit + } + ifelse + 0 + } + ifelse + } + loop + pop pop pop + dst_string 0 dst_index getinterval + end + }bind def + ct_Level2? + { + /ct_resourcestatus + currentglobal mark true setglobal + {/unknowninstancename/Category resourcestatus} + stopped + {cleartomark setglobal true} + {cleartomark currentglobal not exch setglobal} + ifelse + { + { + mark 3 1 roll/Category findresource + begin + ct_Vars/vm currentglobal put + ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec + {cleartomark false} + {{3 2 roll pop true}{cleartomark false}ifelse} + ifelse + ct_Vars/vm get setglobal + end + } + } + {{resourcestatus}} + ifelse bind def + /CIDFont/Category ct_resourcestatus + {pop pop} + { + currentglobal true setglobal + /Generic/Category findresource + dup length dict copy + dup/InstanceType/dicttype put + /CIDFont exch/Category defineresource pop + setglobal + } + ifelse + ct_UseNativeCapability? + { + /CIDInit/ProcSet findresource begin + 12 dict begin + begincmap + /CIDSystemInfo 3 dict dup begin + /Registry(Adobe)def + /Ordering(Identity)def + /Supplement 0 def + end def + /CMapName/Identity-H def + /CMapVersion 1.000 def + /CMapType 1 def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + if + } + { + /ct_Category 2 dict begin + /CIDFont 10 dict def + /ProcSet 2 dict def + currentdict + end + def + /defineresource + { + ct_Category 1 index 2 copy known + { + get + dup dup maxlength exch length eq + { + dup length 10 add dict copy + ct_Category 2 index 2 index put + } + if + 3 index 3 index put + pop exch pop + } + {pop pop/defineresource/undefined ct_raise} + ifelse + }bind def + /findresource + { + ct_Category 1 index 2 copy known + { + get + 2 index 2 copy known + {get 3 1 roll pop pop} + {pop pop/findresource/undefinedresource ct_raise} + ifelse + } + {pop pop/findresource/undefined ct_raise} + ifelse + }bind def + /resourcestatus + { + ct_Category 1 index 2 copy known + { + get + 2 index known + exch pop exch pop + { + 0 -1 true + } + { + false + } + ifelse + } + {pop pop/findresource/undefined ct_raise} + ifelse + }bind def + /ct_resourcestatus/resourcestatus load def + } + ifelse + /ct_CIDInit 2 dict + begin + /ct_cidfont_stream_init + { + { + dup(Binary)eq + { + pop + null + currentfile + ct_Level2? + { + {cid_BYTE_COUNT()/SubFileDecode filter} + stopped + {pop pop pop} + if + } + if + /readstring load + exit + } + if + dup(Hex)eq + { + pop + currentfile + ct_Level2? + { + {null exch/ASCIIHexDecode filter/readstring} + stopped + {pop exch pop(>)exch/readhexstring} + if + } + {(>)exch/readhexstring} + ifelse + load + exit + } + if + /StartData/typecheck ct_raise + } + loop + cid_BYTE_COUNT ct_CID_STR_SIZE le + { + 2 copy cid_BYTE_COUNT string exch exec + pop + 1 array dup + 3 -1 roll + 0 exch put + } + { + cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi + dup array exch 2 sub 0 exch 1 exch + { + 2 copy + 5 index + ct_CID_STR_SIZE + string + 6 index exec + pop + put + pop + } + for + 2 index + cid_BYTE_COUNT ct_CID_STR_SIZE mod string + 3 index exec + pop + 1 index exch + 1 index length 1 sub + exch put + } + ifelse + cid_CIDFONT exch/GlyphData exch put + 2 index null eq + { + pop pop pop + } + { + pop/readstring load + 1 string exch + { + 3 copy exec + pop + dup length 0 eq + { + pop pop pop pop pop + true exit + } + if + 4 index + eq + { + pop pop pop pop + false exit + } + if + } + loop + pop + } + ifelse + }bind def + /StartData + { + mark + { + currentdict + dup/FDArray get 0 get/FontMatrix get + 0 get 0.001 eq + { + dup/CDevProc known not + { + /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known + {get} + { + pop pop + {pop pop pop pop pop 0 -1000 7 index 2 div 880} + } + ifelse + def + } + if + } + { + /CDevProc + { + pop pop pop pop pop + 0 + 1 cid_temp/cid_CIDFONT get + /FDArray get 0 get + /FontMatrix get 0 get div + 7 index 2 div + 1 index 0.88 mul + }def + } + ifelse + /cid_temp 15 dict def + cid_temp + begin + /cid_CIDFONT exch def + 3 copy pop + dup/cid_BYTE_COUNT exch def 0 gt + { + ct_cidfont_stream_init + FDArray + { + /Private get + dup/SubrMapOffset known + { + begin + /Subrs SubrCount array def + Subrs + SubrMapOffset + SubrCount + SDBytes + ct_Level2? + { + currentdict dup/SubrMapOffset undef + dup/SubrCount undef + /SDBytes undef + } + if + end + /cid_SD_BYTES exch def + /cid_SUBR_COUNT exch def + /cid_SUBR_MAP_OFFSET exch def + /cid_SUBRS exch def + cid_SUBR_COUNT 0 gt + { + GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval + 0 cid_SD_BYTES ct_cvnsi + 0 1 cid_SUBR_COUNT 1 sub + { + exch 1 index + 1 add + cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add + GlyphData exch cid_SD_BYTES ct_GetInterval + 0 cid_SD_BYTES ct_cvnsi + cid_SUBRS 4 2 roll + GlyphData exch + 4 index + 1 index + sub + ct_GetInterval + dup length string copy put + } + for + pop + } + if + } + {pop} + ifelse + } + forall + } + if + cleartomark pop pop + end + CIDFontName currentdict/CIDFont defineresource pop + end end + } + stopped + {cleartomark/StartData ct_reraise} + if + }bind def + currentdict + end def + /ct_saveCIDInit + { + /CIDInit/ProcSet ct_resourcestatus + {true} + {/CIDInitC/ProcSet ct_resourcestatus} + ifelse + { + pop pop + /CIDInit/ProcSet findresource + ct_UseNativeCapability? + {pop null} + {/CIDInit ct_CIDInit/ProcSet defineresource pop} + ifelse + } + {/CIDInit ct_CIDInit/ProcSet defineresource pop null} + ifelse + ct_Vars exch/ct_oldCIDInit exch put + }bind def + /ct_restoreCIDInit + { + ct_Vars/ct_oldCIDInit get dup null ne + {/CIDInit exch/ProcSet defineresource pop} + {pop} + ifelse + }bind def + /ct_BuildCharSetUp + { + 1 index + begin + CIDFont + begin + Adobe_CoolType_Utility/ct_BuildCharDict get + begin + /ct_dfCharCode exch def + /ct_dfDict exch def + CIDFirstByte ct_dfCharCode add + dup CIDCount ge + {pop 0} + if + /cid exch def + { + GlyphDirectory cid 2 copy known + {get} + {pop pop nullstring} + ifelse + dup length FDBytes sub 0 gt + { + dup + FDBytes 0 ne + {0 FDBytes ct_cvnsi} + {pop 0} + ifelse + /fdIndex exch def + dup length FDBytes sub FDBytes exch getinterval + /charstring exch def + exit + } + { + pop + cid 0 eq + {/charstring nullstring def exit} + if + /cid 0 def + } + ifelse + } + loop + }def + /ct_SetCacheDevice + { + 0 0 moveto + dup stringwidth + 3 -1 roll + true charpath + pathbbox + 0 -1000 + 7 index 2 div 880 + setcachedevice2 + 0 0 moveto + }def + /ct_CloneSetCacheProc + { + 1 eq + { + stringwidth + pop -2 div -880 + 0 -1000 setcharwidth + moveto + } + { + usewidths? + { + currentfont/Widths get cid + 2 copy known + {get exch pop aload pop} + {pop pop stringwidth} + ifelse + } + {stringwidth} + ifelse + setcharwidth + 0 0 moveto + } + ifelse + }def + /ct_Type3ShowCharString + { + ct_FDDict fdIndex 2 copy known + {get} + { + currentglobal 3 1 roll + 1 index gcheck setglobal + ct_Type1FontTemplate dup maxlength dict copy + begin + FDArray fdIndex get + dup/FontMatrix 2 copy known + {get} + {pop pop ct_defaultFontMtx} + ifelse + /FontMatrix exch dup length array copy def + /Private get + /Private exch def + /Widths rootfont/Widths get def + /CharStrings 1 dict dup/.notdef + dup length string copy put def + currentdict + end + /ct_Type1Font exch definefont + dup 5 1 roll put + setglobal + } + ifelse + dup/CharStrings get 1 index/Encoding get + ct_dfCharCode get charstring put + rootfont/WMode 2 copy known + {get} + {pop pop 0} + ifelse + exch + 1000 scalefont setfont + ct_str1 0 ct_dfCharCode put + ct_str1 exch ct_dfSetCacheProc + ct_SyntheticBold + { + currentpoint + ct_str1 show + newpath + moveto + ct_str1 true charpath + ct_StrokeWidth setlinewidth + stroke + } + {ct_str1 show} + ifelse + }def + /ct_Type4ShowCharString + { + ct_dfDict ct_dfCharCode charstring + FDArray fdIndex get + dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not + {ct_1000Mtx matrix concatmatrix concat} + {pop} + ifelse + /Private get + Adobe_CoolType_Utility/ct_Level2? get not + { + ct_dfDict/Private + 3 -1 roll + {put} + 1183615869 internaldict/superexec get exec + } + if + 1183615869 internaldict + Adobe_CoolType_Utility/ct_Level2? get + {1 index} + {3 index/Private get mark 6 1 roll} + ifelse + dup/RunInt known + {/RunInt get} + {pop/CCRun} + ifelse + get exec + Adobe_CoolType_Utility/ct_Level2? get not + {cleartomark} + if + }bind def + /ct_BuildCharIncremental + { + { + Adobe_CoolType_Utility/ct_MakeOCF get begin + ct_BuildCharSetUp + ct_ShowCharString + } + stopped + {stop} + if + end + end + end + end + }bind def + /BaseFontNameStr(BF00)def + /ct_Type1FontTemplate 14 dict + begin + /FontType 1 def + /FontMatrix [0.001 0 0 0.001 0 0]def + /FontBBox [-250 -250 1250 1250]def + /Encoding ct_cHexEncoding def + /PaintType 0 def + currentdict + end def + /BaseFontTemplate 11 dict + begin + /FontMatrix [0.001 0 0 0.001 0 0]def + /FontBBox [-250 -250 1250 1250]def + /Encoding ct_cHexEncoding def + /BuildChar/ct_BuildCharIncremental load def + ct_Clone? + { + /FontType 3 def + /ct_ShowCharString/ct_Type3ShowCharString load def + /ct_dfSetCacheProc/ct_CloneSetCacheProc load def + /ct_SyntheticBold false def + /ct_StrokeWidth 1 def + } + { + /FontType 4 def + /Private 1 dict dup/lenIV 4 put def + /CharStrings 1 dict dup/.notdefput def + /PaintType 0 def + /ct_ShowCharString/ct_Type4ShowCharString load def + } + ifelse + /ct_str1 1 string def + currentdict + end def + /BaseFontDictSize BaseFontTemplate length 5 add def + /ct_matrixeq + { + true 0 1 5 + { + dup 4 index exch get exch 3 index exch get eq and + dup not + {exit} + if + } + for + exch pop exch pop + }bind def + /ct_makeocf + { + 15 dict + begin + exch/WMode exch def + exch/FontName exch def + /FontType 0 def + /FMapType 2 def + dup/FontMatrix known + {dup/FontMatrix get/FontMatrix exch def} + {/FontMatrix matrix def} + ifelse + /bfCount 1 index/CIDCount get 256 idiv 1 add + dup 256 gt{pop 256}if def + /Encoding + 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for + bfCount 1 255{2 copy bfCount put pop}for + def + /FDepVector bfCount dup 256 lt{1 add}if array def + BaseFontTemplate BaseFontDictSize dict copy + begin + /CIDFont exch def + CIDFont/FontBBox known + {CIDFont/FontBBox get/FontBBox exch def} + if + CIDFont/CDevProc known + {CIDFont/CDevProc get/CDevProc exch def} + if + currentdict + end + BaseFontNameStr 3(0)putinterval + 0 1 bfCount dup 256 eq{1 sub}if + { + FDepVector exch + 2 index BaseFontDictSize dict copy + begin + dup/CIDFirstByte exch 256 mul def + FontType 3 eq + {/ct_FDDict 2 dict def} + if + currentdict + end + 1 index 16 + BaseFontNameStr 2 2 getinterval cvrs pop + BaseFontNameStr exch definefont + put + } + for + ct_Clone? + {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} + if + FontName + currentdict + end + definefont + ct_Clone? + { + gsave + dup 1000 scalefont setfont + ct_BuildCharDict + begin + /usewidths? false def + currentfont/Widths get + begin + exch/CIDFont get/GlyphDirectory get + { + pop + dup charcode exch 1 index 0 2 index 256 idiv put + 1 index exch 1 exch 256 mod put + stringwidth 2 array astore def + } + forall + end + /usewidths? true def + end + grestore + } + {exch pop} + ifelse + }bind def + currentglobal true setglobal + /ct_ComposeFont + { + ct_UseNativeCapability? + { + 2 index/CMap ct_resourcestatus + {pop pop exch pop} + { + /CIDInit/ProcSet findresource + begin + 12 dict + begin + begincmap + /CMapName 3 index def + /CMapVersion 1.000 def + /CMapType 1 def + exch/WMode exch def + /CIDSystemInfo 3 dict dup + begin + /Registry(Adobe)def + /Ordering + CMapName ct_mkocfStr100 cvs + (Adobe-)search + { + pop pop + (-)search + { + dup length string copy + exch pop exch pop + } + {pop(Identity)} + ifelse + } + {pop (Identity)} + ifelse + def + /Supplement 0 def + end def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + ifelse + composefont + } + { + 3 2 roll pop + 0 get/CIDFont findresource + ct_makeocf + } + ifelse + }bind def + setglobal + /ct_MakeIdentity + { + ct_UseNativeCapability? + { + 1 index/CMap ct_resourcestatus + {pop pop} + { + /CIDInit/ProcSet findresource begin + 12 dict begin + begincmap + /CMapName 2 index def + /CMapVersion 1.000 def + /CMapType 1 def + /CIDSystemInfo 3 dict dup + begin + /Registry(Adobe)def + /Ordering + CMapName ct_mkocfStr100 cvs + (Adobe-)search + { + pop pop + (-)search + {dup length string copy exch pop exch pop} + {pop(Identity)} + ifelse + } + {pop(Identity)} + ifelse + def + /Supplement 0 def + end def + 1 begincodespacerange + <0000> + endcodespacerange + 1 begincidrange + <0000>0 + endcidrange + endcmap + CMapName currentdict/CMap defineresource pop + end + end + } + ifelse + composefont + } + { + exch pop + 0 get/CIDFont findresource + ct_makeocf + } + ifelse + }bind def + currentdict readonly pop + end + end +%%EndResource +setglobal +%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 +%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. +%%Version: 1.0 0 +userdict/ct_T42Dict 15 dict put +ct_T42Dict begin +/Is2015? +{ + version + cvi + 2015 + ge +}bind def +/AllocGlyphStorage +{ + Is2015? + { + pop + } + { + {string}forall + }ifelse +}bind def +/Type42DictBegin +{ +25 dict begin + /FontName exch def + /CharStrings 256 dict +begin + /.notdef 0 def + currentdict +end def + /Encoding exch def + /PaintType 0 def + /FontType 42 def + /FontMatrix[1 0 0 1 0 0]def + 4 array astore cvx/FontBBox exch def + /sfnts +}bind def +/Type42DictEnd +{ + currentdict dup/FontName get exch definefont end +ct_T42Dict exch +dup/FontName get exch put +}bind def +/RD{string currentfile exch readstring pop}executeonly def +/PrepFor2015 +{ +Is2015? +{ + /GlyphDirectory + 16 + dict def + sfnts 0 get + dup + 2 index + (glyx) + putinterval + 2 index + (locx) + putinterval + pop + pop +} +{ + pop + pop +}ifelse +}bind def +/AddT42Char +{ +Is2015? +{ + /GlyphDirectory get + begin + def + end + pop + pop +} +{ + /sfnts get + 4 index + get + 3 index + 2 index + putinterval + pop + pop + pop + pop +}ifelse +}bind def +/T0AddT42Mtx2 +{ +/CIDFont findresource/Metrics2 get begin def end +}bind def +end +%%EndResource +currentglobal true setglobal +%%BeginFile: MMFauxFont.prc +%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. +%%All Rights Reserved. +userdict /ct_EuroDict 10 dict put +ct_EuroDict begin +/ct_CopyFont +{ + { 1 index /FID ne {def} {pop pop} ifelse} forall +} def +/ct_GetGlyphOutline +{ + gsave + initmatrix newpath + exch findfont dup + length 1 add dict + begin + ct_CopyFont + /Encoding Encoding dup length array copy + dup + 4 -1 roll + 0 exch put + def + currentdict + end + /ct_EuroFont exch definefont + 1000 scalefont setfont + 0 0 moveto + [ + <00> stringwidth + <00> false charpath + pathbbox + [ + {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall + grestore + counttomark 8 add +} +def +/ct_MakeGlyphProc +{ + ] cvx + /ct_PSBuildGlyph cvx + ] cvx +} def +/ct_PSBuildGlyph +{ + gsave + 8 -1 roll pop + 7 1 roll + 6 -2 roll ct_FontMatrix transform 6 2 roll + 4 -2 roll ct_FontMatrix transform 4 2 roll + ct_FontMatrix transform + currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse + dup 9 1 roll + { + currentdict /StrokeWidth 2 copy known + { + get 2 div + 0 ct_FontMatrix dtransform pop + 5 1 roll + 4 -1 roll 4 index sub + 4 1 roll + 3 -1 roll 4 index sub + 3 1 roll + exch 4 index add exch + 4 index add + 5 -1 roll pop + } + { + pop pop + } + ifelse + } + if + setcachedevice + ct_FontMatrix concat + ct_PSPathOps begin + exec + end + { + currentdict /StrokeWidth 2 copy known + { get } + { pop pop 0 } + ifelse + setlinewidth stroke + } + { + fill + } + ifelse + grestore +} def +/ct_PSPathOps 4 dict dup begin + /m {moveto} def + /l {lineto} def + /c {curveto} def + /cp {closepath} def +end +def +/ct_matrix1000 [1000 0 0 1000 0 0] def +/ct_AddGlyphProc +{ + 2 index findfont dup length 4 add dict + begin + ct_CopyFont + /CharStrings CharStrings dup length 1 add dict copy + begin + 3 1 roll def + currentdict + end + def + /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def + /ct_PSBuildGlyph /ct_PSBuildGlyph load def + /ct_PSPathOps /ct_PSPathOps load def + currentdict + end + definefont pop +} +def +systemdict /languagelevel known +{ + /ct_AddGlyphToPrinterFont { + 2 copy + ct_GetGlyphOutline 3 add -1 roll restore + ct_MakeGlyphProc + ct_AddGlyphProc + } def +} +{ + /ct_AddGlyphToPrinterFont { + pop pop restore + Adobe_CTFauxDict /$$$FONTNAME get + /Euro + Adobe_CTFauxDict /$$$SUBSTITUTEBASE get + ct_EuroDict exch get + ct_AddGlyphProc + } def +} ifelse +/AdobeSansMM +{ +556 0 24 -19 541 703 + { + 541 628 m + 510 669 442 703 354 703 c + 201 703 117 607 101 444 c + 50 444 l + 25 372 l + 97 372 l + 97 301 l + 49 301 l + 24 229 l + 103 229 l + 124 67 209 -19 350 -19 c + 435 -19 501 25 509 32 c + 509 131 l + 492 105 417 60 343 60 c + 267 60 204 127 197 229 c + 406 229 l + 430 301 l + 191 301 l + 191 372 l + 455 372 l + 479 444 l + 194 444 l + 201 531 245 624 348 624 c + 433 624 484 583 509 534 c + cp + 556 0 m + } +ct_PSBuildGlyph +} def +/AdobeSerifMM +{ +500 0 10 -12 484 692 + { + 347 298 m + 171 298 l + 170 310 170 322 170 335 c + 170 362 l + 362 362 l + 374 403 l + 172 403 l + 184 580 244 642 308 642 c + 380 642 434 574 457 457 c + 481 462 l + 474 691 l + 449 691 l + 433 670 429 657 410 657 c + 394 657 360 692 299 692 c + 204 692 94 604 73 403 c + 22 403 l + 10 362 l + 70 362 l + 69 352 69 341 69 330 c + 69 319 69 308 70 298 c + 22 298 l + 10 257 l + 73 257 l + 97 57 216 -12 295 -12 c + 364 -12 427 25 484 123 c + 458 142 l + 425 101 384 37 316 37 c + 256 37 189 84 173 257 c + 335 257 l + cp + 500 0 m + } +ct_PSBuildGlyph +} def +end +%%EndFile +setglobal +Adobe_CoolType_Core begin /$None SetSubstituteStrategy end +%%BeginResource: procset Adobe_AGM_Image 1.0 0 +%%Version: 1.0 0 +%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. +systemdict/setpacking known +{ + currentpacking + true setpacking +}if +userdict/Adobe_AGM_Image 71 dict dup begin put +/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def +/nd{ + null def +}bind def +/AGMIMG_&image nd +/AGMIMG_&colorimage nd +/AGMIMG_&imagemask nd +/AGMIMG_mbuf()def +/AGMIMG_ybuf()def +/AGMIMG_kbuf()def +/AGMIMG_c 0 def +/AGMIMG_m 0 def +/AGMIMG_y 0 def +/AGMIMG_k 0 def +/AGMIMG_tmp nd +/AGMIMG_imagestring0 nd +/AGMIMG_imagestring1 nd +/AGMIMG_imagestring2 nd +/AGMIMG_imagestring3 nd +/AGMIMG_imagestring4 nd +/AGMIMG_imagestring5 nd +/AGMIMG_cnt nd +/AGMIMG_fsave nd +/AGMIMG_colorAry nd +/AGMIMG_override nd +/AGMIMG_name nd +/AGMIMG_maskSource nd +/AGMIMG_flushfilters nd +/invert_image_samples nd +/knockout_image_samples nd +/img nd +/sepimg nd +/devnimg nd +/idximg nd +/ds +{ + Adobe_AGM_Core begin + Adobe_AGM_Image begin + /AGMIMG_&image systemdict/image get def + /AGMIMG_&imagemask systemdict/imagemask get def + /colorimage where{ + pop + /AGMIMG_&colorimage/colorimage ldf + }if + end + end +}def +/ps +{ + Adobe_AGM_Image begin + /AGMIMG_ccimage_exists{/customcolorimage where + { + pop + /Adobe_AGM_OnHost_Seps where + { + pop false + }{ + /Adobe_AGM_InRip_Seps where + { + pop false + }{ + true + }ifelse + }ifelse + }{ + false + }ifelse + }bdf + level2{ + /invert_image_samples + { + Adobe_AGM_Image/AGMIMG_tmp Decode length ddf + /Decode[Decode 1 get Decode 0 get]def + }def + /knockout_image_samples + { + Operator/imagemask ne{ + /Decode[1 1]def + }if + }def + }{ + /invert_image_samples + { + {1 exch sub}currenttransfer addprocs settransfer + }def + /knockout_image_samples + { + {pop 1}currenttransfer addprocs settransfer + }def + }ifelse + /img/imageormask ldf + /sepimg/sep_imageormask ldf + /devnimg/devn_imageormask ldf + /idximg/indexed_imageormask ldf + /_ctype 7 def + currentdict{ + dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ + bind + }if + def + }forall +}def +/pt +{ + end +}def +/dt +{ +}def +/AGMIMG_flushfilters +{ + dup type/arraytype ne + {1 array astore}if + dup 0 get currentfile ne + {dup 0 get flushfile}if + { + dup type/filetype eq + { + dup status 1 index currentfile ne and + {closefile} + {pop} + ifelse + }{pop}ifelse + }forall +}def +/AGMIMG_init_common +{ + currentdict/T known{/ImageType/T ldf currentdict/T undef}if + currentdict/W known{/Width/W ldf currentdict/W undef}if + currentdict/H known{/Height/H ldf currentdict/H undef}if + currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if + currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if + currentdict/D known{/Decode/D ldf currentdict/D undef}if + currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if + currentdict/O known{ + /Operator/O load 1 eq{ + /imagemask + }{ + /O load 2 eq{ + /image + }{ + /colorimage + }ifelse + }ifelse + def + currentdict/O undef + }if + currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if + currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if + currentdict/I known{/Interpolate/I ldf currentdict/I undef}if + currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if + /DataSource load xcheck not{ + DataSource type/arraytype eq{ + DataSource 0 get type/filetype eq{ + /_Filters DataSource def + currentdict/MultipleDataSources known not{ + /DataSource DataSource dup length 1 sub get def + }if + }if + }if + currentdict/MultipleDataSources known not{ + /MultipleDataSources DataSource type/arraytype eq{ + DataSource length 1 gt + } + {false}ifelse def + }if + }if + /NComponents Decode length 2 div def + currentdict/SkipImageProc known not{/SkipImageProc{false}def}if +}bdf +/imageormask_sys +{ + begin + AGMIMG_init_common + save mark + level2{ + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + AGMIMG_&imagemask + }{ + BitsPerComponent ImageMatrix/DataSource load + AGMIMG_&image + }ifelse + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + cleartomark restore + end +}def +/overprint_plate +{ + currentoverprint{ + 0 get dup type/nametype eq{ + dup/DeviceGray eq{ + pop AGMCORE_black_plate not + }{ + /DeviceCMYK eq{ + AGMCORE_is_cmyk_sep not + }if + }ifelse + }{ + false exch + { + AGMOHS_sepink eq or + }forall + not + }ifelse + }{ + pop false + }ifelse +}def +/process_mask +{ + level3{ + dup begin + /ImageType 1 def + end + 4 dict begin + /DataDict exch def + /ImageType 3 def + /InterleaveType 3 def + /MaskDict 9 dict begin + /ImageType 1 def + /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def + /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def + /ImageMatrix[Width 0 0 Height neg 0 Height]def + /NComponents 1 def + /BitsPerComponent 1 def + /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def + /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def + currentdict end def + currentdict end + }if +}def +/use_mask +{ + dup/Mask known {dup/Mask get}{false}ifelse +}def +/imageormask +{ + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + } + { + save mark + level2 AGMCORE_host_sep not and{ + currentdict + Operator/imagemask eq DeviceN_PS2 not and{ + imagemask + }{ + AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ + [/Separation/Black/DeviceGray{}]setcolorspace + /Decode[Decode 1 get Decode 0 get]def + }if + use_mask{ + process_mask image + }{ + DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and + { + Names convert_to_process not{ + 2 dict begin + /imageDict xdf + /names_index 0 def + gsave + imageDict write_image_file{ + Names{ + dup(None)ne{ + [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace + Operator imageDict read_image_file + names_index 0 eq{true setoverprint}if + /names_index names_index 1 add def + }{ + pop + }ifelse + }forall + close_image_file + }if + grestore + end + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }{ + Operator/imagemask eq{ + imagemask + }{ + image + }ifelse + }ifelse + }ifelse + }ifelse + }{ + Width Height + Operator/imagemask eq{ + Decode 0 get 1 eq Decode 1 get 0 eq and + ImageMatrix/DataSource load + /Adobe_AGM_OnHost_Seps where{ + pop imagemask + }{ + currentgray 1 ne{ + currentdict imageormask_sys + }{ + currentoverprint not{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }ifelse + }{ + BitsPerComponent ImageMatrix + MultipleDataSources{ + 0 1 NComponents 1 sub{ + DataSource exch get + }for + }{ + /DataSource load + }ifelse + Operator/colorimage eq{ + AGMCORE_host_sep{ + MultipleDataSources level2 or NComponents 4 eq and{ + AGMCORE_is_cmyk_sep{ + MultipleDataSources{ + /DataSource DataSource 0 get xcheck + { + [ + DataSource 0 get/exec cvx + DataSource 1 get/exec cvx + DataSource 2 get/exec cvx + DataSource 3 get/exec cvx + /AGMCORE_get_ink_data cvx + ]cvx + }{ + DataSource aload pop AGMCORE_get_ink_data + }ifelse def + }{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + /DataSource load + filter_cmyk 0()/SubFileDecode filter def + }ifelse + /Decode[Decode 0 get Decode 1 get]def + /MultipleDataSources false def + /NComponents 1 def + /Operator/image def + invert_image_samples + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + 1 AGMCORE_&setgray + currentdict imageormask_sys + }{ + currentdict ignoreimagedata + }ifelse + }ifelse + }{ + MultipleDataSources NComponents AGMIMG_&colorimage + }ifelse + }{ + true NComponents colorimage + }ifelse + }{ + Operator/image eq{ + AGMCORE_host_sep{ + /DoImage true def + currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse + { + AGMCORE_black_plate not Operator/imagemask ne and{ + /DoImage false def + currentdict ignoreimagedata + }if + }if + 1 AGMCORE_&setgray + DoImage + {currentdict imageormask_sys}if + }{ + use_mask{ + process_mask image + }{ + image + }ifelse + }ifelse + }{ + Operator/knockout eq{ + pop pop pop pop pop + currentcolorspace overprint_plate not{ + knockout_unitsq + }if + }if + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/sep_imageormask +{ + /sep_colorspace_dict AGMCORE_gget begin + CSA map_csa + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_avoid_L2_sep_space{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + }if + AGMIMG_ccimage_exists + MappedCSA 0 get/DeviceCMYK eq and + currentdict/Components known and + Name()ne and + Name(All)ne and + Operator/image eq and + AGMCORE_producing_seps not and + level2 not and + { + Width Height BitsPerComponent ImageMatrix + [ + /DataSource load/exec cvx + { + 0 1 2 index length 1 sub{ + 1 index exch + 2 copy get 255 xor put + }for + }/exec cvx + ]cvx bind + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Name findcmykcustomcolor + customcolorimage + }{ + AGMCORE_producing_seps not{ + level2{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ + [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + currentdict imageormask + }{ + currentdict + Operator/imagemask eq{ + imageormask + }{ + sep_imageormask_lev1 + }ifelse + }ifelse + }{ + AGMCORE_host_sep{ + Operator/knockout eq{ + currentdict/ImageMatrix get concat + knockout_unitsq + }{ + currentgray 1 ne{ + AGMCORE_is_cmyk_sep Name(All)ne and{ + level2{ + Name AGMCORE_IsSeparationAProcessColor + { + Operator/imagemask eq{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor + }if + }{ + invert_image_samples + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + [/Separation Name[/DeviceGray] + { + sep_colorspace_proc AGMCORE_get_ink_data + 1 exch sub + }bind + ]AGMCORE_&setcolorspace + /sep_tint AGMCORE_gget AGMCORE_&setcolor + }if + }ifelse + currentdict imageormask_sys + }{ + currentdict + Operator/imagemask eq{ + imageormask_sys + }{ + sep_image_lev1_sep + }ifelse + }ifelse + }{ + Operator/imagemask ne{ + invert_image_samples + }if + currentdict imageormask_sys + }ifelse + }{ + currentoverprint not Name(All)eq or Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ + currentcolorspace 0 get/Separation ne{ + [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt + /sep_tint AGMCORE_gget setcolor + }if + }if + currentoverprint + MappedCSA 0 get/DeviceCMYK eq and + Name AGMCORE_IsSeparationAProcessColor not and + //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse + Name(All)ne and{ + imageormask_l2_overprint + }{ + currentdict imageormask + }ifelse + }ifelse + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end +}def +/colorSpaceElemCnt +{ + mark currentcolor counttomark dup 2 add 1 roll cleartomark +}bdf +/devn_sep_datasource +{ + 1 dict begin + /dataSource xdf + [ + 0 1 dataSource length 1 sub{ + dup currentdict/dataSource get/exch cvx/get cvx/exec cvx + /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx + }for + ]cvx bind + end +}bdf +/devn_alt_datasource +{ + 11 dict begin + /convProc xdf + /origcolorSpaceElemCnt xdf + /origMultipleDataSources xdf + /origBitsPerComponent xdf + /origDecode xdf + /origDataSource xdf + /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def + /DataSource origMultipleDataSources + { + [ + BitsPerComponent 8 idiv origDecode length 2 idiv mul string + 0 1 origDecode length 2 idiv 1 sub + { + dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch + origDataSource exch get 0()/SubFileDecode filter + BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx + }for + ]bind cvx + }{origDataSource}ifelse 0()/SubFileDecode filter def + [ + origcolorSpaceElemCnt string + 0 2 origDecode length 2 sub + { + dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div + 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx + }for + /convProc load/exec cvx + origcolorSpaceElemCnt 1 sub -1 0 + { + /dup cvx 2/add cvx/index cvx + 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx + }for + ]bind cvx 0()/SubFileDecode filter + end +}bdf +/devn_imageormask +{ + /devicen_colorspace_dict AGMCORE_gget begin + CSA map_csa + 2 dict begin + dup + /srcDataStrs[3 -1 roll begin + AGMIMG_init_common + currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse + { + Width Decode length 2 div mul cvi + { + dup 65535 gt{1 add 2 div cvi}{exit}ifelse + }loop + string + }repeat + end]def + /dstDataStr srcDataStrs 0 get length string def + begin + AGMIMG_init_common + SkipImageProc{ + currentdict consumeimagedata + }{ + save mark + AGMCORE_producing_seps not{ + level3 not{ + Operator/imagemask ne{ + /DataSource[[ + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def + /MultipleDataSources true def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + }if + }if + currentdict imageormask + }{ + AGMCORE_host_sep{ + Names convert_to_process{ + CSA get_csa_by_name 0 get/DeviceCMYK eq{ + /DataSource + Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + filter_cmyk 0()/SubFileDecode filter def + /MultipleDataSources false def + /Decode[1 0]def + /DeviceGray setcolorspace + currentdict imageormask_sys + }{ + AGMCORE_report_unsupported_color_space + AGMCORE_black_plate{ + /DataSource + DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse + CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get + devn_alt_datasource + /MultipleDataSources false def + /Decode colorSpaceElemCnt[exch{0 1}repeat]def + currentdict imageormask_sys + }{ + gsave + knockout_unitsq + grestore + currentdict consumeimagedata + }ifelse + }ifelse + } + { + /devicen_colorspace_dict AGMCORE_gget/names_index known{ + Operator/imagemask ne{ + MultipleDataSources{ + /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def + /MultipleDataSources false def + }{ + /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def + }ifelse + invert_image_samples + }if + currentdict imageormask_sys + }{ + currentoverprint not Operator/imagemask eq and{ + currentdict imageormask_sys + }{ + currentoverprint not + { + gsave + knockout_unitsq + grestore + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + currentdict imageormask + }ifelse + }ifelse + cleartomark restore + }ifelse + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end + end + end +}def +/imageormask_l2_overprint +{ + currentdict + currentcmykcolor add add add 0 eq{ + currentdict consumeimagedata + }{ + level3{ + currentcmykcolor + /AGMIMG_k xdf + /AGMIMG_y xdf + /AGMIMG_m xdf + /AGMIMG_c xdf + Operator/imagemask eq{ + [/DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ]/DeviceCMYK{}]setcolorspace + AGMIMG_c 0 ne{AGMIMG_c}if + AGMIMG_m 0 ne{AGMIMG_m}if + AGMIMG_y 0 ne{AGMIMG_y}if + AGMIMG_k 0 ne{AGMIMG_k}if + setcolor + }{ + /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def + [/Indexed + [ + /DeviceN[ + AGMIMG_c 0 ne{/Cyan}if + AGMIMG_m 0 ne{/Magenta}if + AGMIMG_y 0 ne{/Yellow}if + AGMIMG_k 0 ne{/Black}if + ] + /DeviceCMYK{ + AGMIMG_k 0 eq{0}if + AGMIMG_y 0 eq{0 exch}if + AGMIMG_m 0 eq{0 3 1 roll}if + AGMIMG_c 0 eq{0 4 1 roll}if + } + ] + 255 + { + 255 div + mark exch + dup dup dup + AGMIMG_k 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_y 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_m 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + AGMIMG_c 0 ne{ + /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop + counttomark 1 roll + }{ + pop + }ifelse + counttomark 1 add -1 roll pop + } + ]setcolorspace + }ifelse + imageormask_sys + }{ + write_image_file{ + currentcmykcolor + 0 ne{ + [/Separation/Black/DeviceGray{}]setcolorspace + gsave + /Black + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Yellow/DeviceGray{}]setcolorspace + gsave + /Yellow + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Magenta/DeviceGray{}]setcolorspace + gsave + /Magenta + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + 0 ne{ + [/Separation/Cyan/DeviceGray{}]setcolorspace + gsave + /Cyan + [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] + cvx modify_halftone_xfer + Operator currentdict read_image_file + grestore + }if + close_image_file + }{ + imageormask + }ifelse + }ifelse + }ifelse +}def +/indexed_imageormask +{ + begin + AGMIMG_init_common + save mark + currentdict + AGMCORE_host_sep{ + Operator/knockout eq{ + /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ + /CSA get get_csa_by_name + }{ + /Names get + }ifelse + overprint_plate not{ + knockout_unitsq + }if + }{ + Indexed_DeviceN{ + /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ + indexed_image_lev2_sep + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }{ + AGMCORE_is_cmyk_sep{ + Operator/imagemask eq{ + imageormask_sys + }{ + level2{ + indexed_image_lev2_sep + }{ + indexed_image_lev1_sep + }ifelse + }ifelse + }{ + currentoverprint not{ + knockout_unitsq + }if + currentdict consumeimagedata + }ifelse + }ifelse + }ifelse + }{ + level2{ + Indexed_DeviceN{ + /indexed_colorspace_dict AGMCORE_gget begin + }{ + /indexed_colorspace_dict AGMCORE_gget dup null ne + { + begin + currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse + get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and + AGMCORE_in_rip_sep and{ + [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] + setcolorspace + }if + end + } + {pop}ifelse + }ifelse + imageormask + Indexed_DeviceN{ + end + }if + }{ + Operator/imagemask eq{ + imageormask + }{ + indexed_imageormask_lev1 + }ifelse + }ifelse + }ifelse + cleartomark restore + currentdict/_Filters known{_Filters AGMIMG_flushfilters}if + end +}def +/indexed_image_lev2_sep +{ + /indexed_colorspace_dict AGMCORE_gget begin + begin + Indexed_DeviceN not{ + currentcolorspace + dup 1/DeviceGray put + dup 3 + currentcolorspace 2 get 1 add string + 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub + { + dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put + }for + put setcolorspace + }if + currentdict + Operator/imagemask eq{ + AGMIMG_&imagemask + }{ + use_mask{ + process_mask AGMIMG_&image + }{ + AGMIMG_&image + }ifelse + }ifelse + end end +}def + /OPIimage + { + dup type/dicttype ne{ + 10 dict begin + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /ImageType 1 def + /Decode[0 1 def] + currentdict + end + }if + dup begin + /NComponents 1 cdndf + /MultipleDataSources false cdndf + /SkipImageProc{false}cdndf + /Decode[ + 0 + currentcolorspace 0 get/Indexed eq{ + 2 BitsPerComponent exp 1 sub + }{ + 1 + }ifelse + ]cdndf + /Operator/image cdndf + end + /sep_colorspace_dict AGMCORE_gget null eq{ + imageormask + }{ + gsave + dup begin invert_image_samples end + sep_imageormask + grestore + }ifelse + }def +/cachemask_level2 +{ + 3 dict begin + /LZWEncode filter/WriteFilter xdf + /readBuffer 256 string def + /ReadFilter + currentfile + 0(%EndMask)/SubFileDecode filter + /ASCII85Decode filter + /RunLengthDecode filter + def + { + ReadFilter readBuffer readstring exch + WriteFilter exch writestring + not{exit}if + }loop + WriteFilter closefile + end +}def +/spot_alias +{ + /mapto_sep_imageormask + { + dup type/dicttype ne{ + 12 dict begin + /ImageType 1 def + /DataSource xdf + /ImageMatrix xdf + /BitsPerComponent xdf + /Height xdf + /Width xdf + /MultipleDataSources false def + }{ + begin + }ifelse + /Decode[/customcolor_tint AGMCORE_gget 0]def + /Operator/image def + /SkipImageProc{false}def + currentdict + end + sep_imageormask + }bdf + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_colorAry xddf + /customcolor_tint AGMCORE_gget + << + /Name AGMIMG_colorAry 4 get + /CSA[/DeviceCMYK] + /TintMethod/Subtractive + /TintProc null + /MappedCSA null + /NComponents 4 + /Components[AGMIMG_colorAry aload pop pop] + >> + setsepcolorspace + mapto_sep_imageormask + }ndf + Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put + /customcolorimage + { + Adobe_AGM_Image/AGMIMG_override false put + current_spot_alias{dup 4 get map_alias}{false}ifelse + { + false set_spot_alias + /customcolor_tint AGMCORE_gget exch setsepcolorspace + pop + mapto_sep_imageormask + true set_spot_alias + }{ + //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec + }ifelse + }bdf +}def +/snap_to_device +{ + 6 dict begin + matrix currentmatrix + dup 0 get 0 eq 1 index 3 get 0 eq and + 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop + { + 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def + 0 0 transform + AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch + itransform/AGMIMG_llY exch def/AGMIMG_llX exch def + 1 1 transform + AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch + itransform/AGMIMG_urY exch def/AGMIMG_urX exch def + [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat + }{ + }ifelse + end +}def +level2 not{ + /colorbuf + { + 0 1 2 index length 1 sub{ + dup 2 index exch get + 255 exch sub + 2 index + 3 1 roll + put + }for + }def + /tint_image_to_color + { + begin + Width Height BitsPerComponent ImageMatrix + /DataSource load + end + Adobe_AGM_Image begin + /AGMIMG_mbuf 0 string def + /AGMIMG_ybuf 0 string def + /AGMIMG_kbuf 0 string def + { + colorbuf dup length AGMIMG_mbuf length ne + { + dup length dup dup + /AGMIMG_mbuf exch string def + /AGMIMG_ybuf exch string def + /AGMIMG_kbuf exch string def + }if + dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop + } + addprocs + {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage + end + }def + /sep_imageormask_lev1 + { + begin + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + { + 255 mul round cvi GrayLookup exch get + }currenttransfer addprocs settransfer + currentdict imageormask + }{ + /sep_colorspace_dict AGMCORE_gget/Components known{ + MappedCSA 0 get/DeviceCMYK eq{ + Components aload pop + }{ + 0 0 0 Components aload pop 1 exch sub + }ifelse + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ + {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer + currentdict imageormask + }{ + currentcolortransfer + {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll + {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }{ + MappedCSA 0 get/DeviceGray eq{ + {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer + currentdict imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll + {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll + setcolortransfer + currentdict tint_image_to_color + }ifelse + }ifelse + }ifelse + }ifelse + end + }def + /sep_image_lev1_sep + { + begin + /sep_colorspace_dict AGMCORE_gget/Components known{ + Components aload pop + Adobe_AGM_Image/AGMIMG_k xddf + Adobe_AGM_Image/AGMIMG_y xddf + Adobe_AGM_Image/AGMIMG_m xddf + Adobe_AGM_Image/AGMIMG_c xddf + {AGMIMG_c mul 1 exch sub} + {AGMIMG_m mul 1 exch sub} + {AGMIMG_y mul 1 exch sub} + {AGMIMG_k mul 1 exch sub} + }{ + {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} + {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} + }ifelse + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end + }def + /indexed_imageormask_lev1 + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + currentdict + MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ + {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceGray eq{ + {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer + imageormask + }{ + MappedCSA 0 get/DeviceCMYK eq{ + currentcolortransfer + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }{ + currentcolortransfer + {pop 1}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll + {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll + setcolortransfer + tint_image_to_color + }ifelse + }ifelse + }ifelse + end end + }def + /indexed_image_lev1_sep + { + /indexed_colorspace_dict AGMCORE_gget begin + begin + {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} + {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} + AGMCORE_get_ink_data currenttransfer addprocs settransfer + currentdict imageormask_sys + end end + }def +}if +end +systemdict/setpacking known +{setpacking}if +%%EndResource +currentdict Adobe_AGM_Utils eq {end} if +%%EndProlog +%%BeginSetup +Adobe_AGM_Utils begin +2 2010 Adobe_AGM_Core/ds gx +Adobe_CoolType_Core/ds get exec +Adobe_AGM_Image/ds gx +[/NamespacePush pdfmark_5 +[/_objdef {Doc_Metadata} /type /stream /OBJ pdfmark_5 +[{Doc_Metadata} 937 (% &end XMP packet& %) ReadBypdfmark_5_string + + + + + + + Aspose + + + + + Aspose + + + + + Aspose + + + + + + + + + + + + + + + + + + + + + + + + +% &end XMP packet& % + +[{Doc_Metadata} 2 dict begin /Type /Metadata def /Subtype /XML def currentdict end /PUT pdfmark_5 +[/Document 1 dict begin /Metadata {Doc_Metadata} def currentdict end /BDC pdfmark_5 +[/NamespacePop pdfmark_5 +currentdict Adobe_AGM_Utils eq {end} if +%%EndSetup +%%Page: 1 1 +%%EndPageComments +%%BeginPageSetup +Adobe_AGM_Utils begin +Adobe_AGM_Core/ps gx +Adobe_AGM_Core/capture_mysetup gx +Adobe_AGM_Utils/capture_cpd gx +Adobe_CoolType_Core/ps get exec +Adobe_AGM_Image/ps gx +%%EndPageSetup +1 -1 scale 0 -842 translate +pgsv +[1 0 0 1 0 0 ]ct +gsave +np +gsave +0 0 mo +0 842 li +595 842 li +595 0 li +cp +clp +gsave +561 384.194 mo +34 384.194 li +34.75 384.944 li +560.25 384.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34 384.569 mo +561 384.569 li +false sop +/0 +[/DeviceCMYK] /CSA add_res +.75021 .679683 .670222 .90164 cmyk +@ +grestore +gsave +561 385.694 mo +561 384.194 li +560.25 384.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +560.625 384.194 mo +560.625 385.694 li +false sop +.6383 .559197 .552483 .310796 cmyk +@ +grestore +gsave +561 385.694 mo +34 385.694 li +34.75 384.944 li +560.25 384.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34 385.319 mo +561 385.319 li +false sop +.6383 .559197 .552483 .310796 cmyk +@ +grestore +gsave +34 385.694 mo +34 384.194 li +34.75 384.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34.375 384.194 mo +34.375 385.694 li +false sop +.75021 .679683 .670222 .90164 cmyk +@ +grestore +gsave +561 391.694 mo +34 391.694 li +34.75 392.444 li +560.25 392.444 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34 392.069 mo +561 392.069 li +false sop +.75021 .679683 .670222 .90164 cmyk +@ +grestore +gsave +561 393.194 mo +561 391.694 li +560.25 392.444 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +560.625 391.694 mo +560.625 393.194 li +false sop +.6383 .559197 .552483 .310796 cmyk +@ +grestore +gsave +561 393.194 mo +34 393.194 li +34.75 392.444 li +560.25 392.444 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34 392.819 mo +561 392.819 li +false sop +.6383 .559197 .552483 .310796 cmyk +@ +grestore +gsave +34 393.194 mo +34 391.694 li +34.75 392.444 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34.375 391.694 mo +34.375 393.194 li +false sop +.75021 .679683 .670222 .90164 cmyk +@ +grestore +gsave +561 399.194 mo +34 399.194 li +34.75 399.944 li +560.25 399.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34 399.569 mo +561 399.569 li +false sop +.75021 .679683 .670222 .90164 cmyk +@ +grestore +gsave +561 400.694 mo +561 399.194 li +560.25 399.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +560.625 399.194 mo +560.625 400.694 li +false sop +.6383 .559197 .552483 .310796 cmyk +@ +grestore +gsave +561 400.694 mo +34 400.694 li +34.75 399.944 li +560.25 399.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34 400.319 mo +561 400.319 li +false sop +.6383 .559197 .552483 .310796 cmyk +@ +grestore +gsave +34 400.694 mo +34 399.194 li +34.75 399.944 li +cp +eclp +.75 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34.375 399.194 mo +34.375 400.694 li +false sop +.75021 .679683 .670222 .90164 cmyk +@ +grestore +false sop +.75021 .679683 .670222 .90164 cmyk +%ADOBeginSubsetFont: NAAAAA+TimesNewRomanBold Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2025 Adobe System Incorporated. All rights reserved. +12 dict dup begin +/FontType 1 def +/FontName /NAAAAA+TimesNewRomanBold def +/FontInfo 5 dict dup begin +/ItalicAngle 0 def +/FSType 8 def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 32 /space put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +dup 54 /six put +dup 72 /H put +dup 82 /R put +dup 97 /a put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 122 /z put +def +/FontBBox {-558 -328 2000 1056} def +end +systemdict begin +dup /Private +7 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [0 0] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +24 dict dup begin +/.notdef <1C60D8A8C9B6FF86FBD66B095379F45880CA28D0F0C4629F99B72E +FEDBB222483BD74F8B> |- +/space <1C60D8A8C9B8707C25> |- +/one <1C60D8A8C9B7A73DB9EF586AAA5514CED49708F80BBBB3E0C08981E71A +2FDC36B865E3FCA51E6A1484F46E65841854AEA89C775394E73B1898984FBC22 +49D98BC6F183E16066F5FE57A76500983C69451DB2E93C4F88F69AFBA843BB16 +999133215C928C0CBB37486BAEE843CAAF> |- +/two <1C60D8A8C9B7A73DB6EDC2B380DD43A970F7F57014109E214DF937D89C +36048744D099D369174BD4F76D7970D206BA95D523D634A27BDA42353F38E5DD +E816C3622BF9A30D25A21149A7B3017CEB6E3398206069B0333A0A8DE32436B8 +266E85F7513F52DCB0F8D99F507D40330C66384B090EEFA50D739A45A3A6785B +4AD064DC94007E5C2325C4BD> |- +/three <1C60D8A8C9B7A73DB994B79BEF9152870EEB88578A977CDB80332CB6 +646324FF753D63D77E901BA09B5E7E16CAB618D56F8EC2AFA51F815F877513A3 +0D58C972F2F2343929F60E9C40DEF930E995F25C27FB36EA72F92C3260453715 +D4CB043B3A9866DADCCF76893A2302215F52B0EBC345E6385F3EB0A381972283 +91CFA45A1202D089E1C0F1AB3128A995D151C5602FDA9AB6E6298E250EB86551 +40C7367303D54022804CA9DBE9E5405D8E68410C0DECF2FC9118D2891ADCA324 +087EDC2210E57E17392288E70C2DB38FAD49C05119> |- +/four <1C60D8A8C9B7A73DEA5F3AF017360F69BCE8C7C0F166A9A921517067F +07AF45C4C3931339F6FED5BF9D24E7C5B46473F975FA942D805> |- +/five <1C60D8A8C9B7A73DE2C2CE18E794A0F594F94A6B146429BDA201672AA +E28157C6D15BD85A2990DFD4C52A4481FBCD25670A82A0FD1F263D1DA0706AF1 +87D9E9EA7031C87CBF72D90813BF1B4BE7C60344E5433ADC6FD7B43D0D806093 +FDC0380556AFF8B0110009BF6915A64F5C527003D19601B0E4666728D5361C3B +F48EDC27EB3C30A5ACFF23F30B6E9B989C3C66FE11562A6F649B52CFEDB> |- +/six <1C60D8A8C9B7A73DB9A2722643C790F0633EECDF5C88C54F50D17E41FB +7F99DB10EAD9460BA925CD83A3CEA7727D6BB02FCA7B072CD7477058BD52B2E1 +6F455E2D15C5FA4F7046B0C5967230A9F5EF043A389E79FAA4F68B7FD42658D4 +F2DB56CB35F8F007D3790DB5E8ACEF3CF1834262DD967A63FC6BBABF5B96E8B8 +03BDB248E80558B5A9A538D75F5BDBE6CDC62A6B994933DDB18A93A37CD35F40 +24948BE722380446EC04A1E55C3B0693882B34D839AA506421C654ABA7146F5D +4DE6D15D2D5BAA62> |- +/H <1C60D8A8C9B6FF86FA666453AFBCCF32EC24843B5F1399058B9D12F87E08 +C6DBC53C96D13566AC726A260A9E9A6B223AB7A365ACD8F54C30A78EB26C7DFD +88AAC935118AEAD43E5CEF9B1F5B8899E5C7355645EAA033BF5AFD0D84F74266 +E4AF5FD4CA67ED4E8DA52C834B1593FC70C9F9961678644ADDD42E1B7669A82E +BCEAA01A1703D1C40D6F21633F83DD17BBE47B0328D7B030C4079CA7ECC176B4 +ADD7CE6E8F207C5BD277E618B0C43072DA6D78BA5BE0E12BABFBBCF8A01A8765 +599C36893A91B02824A51EDEB08E88A6B0CE4515285641E1633777CF151DA53A +813AB636671C4FE68E8B56211A343155A57B7A9F88A3F8B52875> |- +/R <1C60D8A8C9B6079F6260140016DC3D6E284428F57D575A5E206A5C50DC24 +DF1AC7D218BDC60B34CA1AF22239F0E10D176DBCE57460813FF36620348EE969 +A243E7E70CDA719368887201E332ABA105BB892920927AF4B3D40668175987CB +28AFFD6B69739996DB64AD9129505D12375FC605AE336576F28323D56906FA53 +42437A7355A8B0661523B08E369D4F0EFC90893FA9B56126BFB43BAC1A7C923C +AC24D5E766B31242F803EEE7634784D68B186628C8B5E0C717EA97FA194B66B2 +A89267D0EEF77DA14DF791362BC81A> |- +/a <1C60D8A8C9B7A73DB9E86B7E36429A2884771404E6FF662B8AA7E7384C36 +59F637EBD399261C63A35B069A69F76ED1A82E238E7EE163D317BE064E3858C7 +F7730B3F4964EB20955A37792E7E1687D8ADC075DDB7D7FB25258139553D3CB2 +FA10ED804622949E5930CF99F28E8A477603C46FC4F5A92DC2A1E35DB06F67F3 +E51B82DE37C2C17EC2E5C923B58246C88B9A4601B0D1A14F5724D07DAB747376 +B8430740055D15C3763245B66F59402378EFADB8789CFB2CE89C326A037B9EA7 +5216356106F9269249DDBB95B13318EE882CB697F95419AED017DFE8527A8D8E +F87BA96F46A6F3C6B37E5DC3CF5F042CB4BC684A4C1AF54058E7FE4B16C2ABDA +5E4C6AEB6AC099DB4A66DB29E012598F2F12A231> |- +/d <1C60D8A8C9B7EF322BB34349F3168A7602BC7BF4226017FE1BF22B840545 +23B23705583072888EE49ACE6F151BEB11E6C7498E6C09135BDFDB836D2D49BE +2EABEE67608F4396105B0DB3E7762F239216C0DD50120AD2B9D413DB01C86A05 +F67787C78F145B0F86FFE91A800E141AE20ED29E6F68C9A2A75337AC51AED174 +C1393EBB7530A0D447EFE3403D02A5ABF7A566F9E721F532F6AE8AD6A21AF6AE +574484093EF0056C2D7EB4A61B4032F6ABA859D517A62FF24D6F4DCB74805576 +4ED96954395DB4DB> |- +/e <1C60D8A8C9B77FE2C1A0FFE616EB00E9CC30AEE6296E704D5E8E6E2A25CD +5B841666118E2FAE181ECDCA295C531BAEC8AA2C391851649F7A3F6C1D06B8F5 +3311D73A0F775B337F21892F2D55D51BAAE57B9A38BC3FBC0F8B7058E4F9E704 +709FA2F144D9397D8E7CC8EE685293C980753BDE3858AD8D5DB11A1F649D597D +E968E74B3A3B8C5A39BDCB85B6D8AE6FFD00E4F0A287> |- +/g <1C60D8A8C9B7A73DB95827D165CBA94F37D43D972EAAE57339132B24EEB3 +269751BCA927C1513B63503B83734FF72F82FBA710B5424F96FFF7E943411B7E +7A713EED12F14B2BD28BCE56F0FA669D4B45D498AE948AE55ED3A2127E7CF255 +B1E21C2384D44F86D6310CF1BD75C3CFB0483D4C181B588B6DBE0BAEBDD7FB8E +E6D3C70C5C2013030F092ACC4E08AD772DA82F9167E24DA30D2630801B833E8F +B36BFAE3B375A19AD81EB8DA4C979D041FFC7C9B1A73EF1C5B7E751A31335A96 +371ACAE038F1C6D7312CCAE42C476D35BAF7EE8303BD721B3C9901074E92A47F +3ECA65FBFAD1842104F257AA28C400F288CED8FAB47E7B0F9AC674B2AD758DDC +4D82DD0D261718553330B37938706C656304353A29170CAF539CB305CE1DDFAA +CEE39BF9E79C6CCE45F70BFBD2BD4A513EEAE24D2E98156B2FDBD7BA4B869481 +F19FB826F47EF5D2624958A3959A8F6D4DC2F78300ED78925E0F8B8B401EF0> |- +/h <1C60D8A8C9B7EF3272AF7F25204A2579374FCC2D8DC58257D5328C73837D +F5E151F5C4B59935D79D509479A4CF58D2F57CA30B7004F0CECA507A0A14CFFA +1C1991F686B3799B13C981FE5F1A5BF53CEC0E9AAEB667BFBDC7A5B4E500A01B +F3041032C409B459737BFBB5ED5ED3F0772BAAAB5B9BFF765B3251725E6DE189 +3256D90156097AA53D4F8FFDCBD851B4E61228F325CAC2820CD2D27D8E983278 +9A128B427F415B9370CB527F20D87D99F84108664AF4195426E156> |- +/i <1C60D8A8C9B854D0E61042376B1E283FB3F4BBB7CB3487BC74EE7E391A93 +B180B577E22955D0FA3199DCD5C6BBEA2EDAEAAD70CAC2D387D654CFD6D585A6 +0CE5094378FB8BA8FD5D1CAFC6A05D463B8B2BF660BFB6FA4902B50766CB2260 +0DE6B8533451B6F73A6A051EB16DBCEA0EFC6C89350A34CB9DF0A7738E953A8F +7AB6ADA51E7F> |- +/l <1C60D8A8C9B854D09CC77F32FE56EAFD8F160C72BECE8873AE417AE0D21D +5337605639AD1A151DC364880F2C65200EF41B3343ACE730AF8052A8FF793769 +15451BDA8AAC02C68E> |- +/n <1C60D8A8C9B7EF3272AED84C447117DF46F865B97FFF41B029592F0B940D +3CB1496385D278F27E297025A56C69B21BCC4BF07172388925626DFA8D6C471D +D2C590CEE341C9379255E659C301E8B658357553D5C99C48C092267972A84331 +83661DD05FE8753D94EA589F58F98A095B0B81C0D9CA47EDC3C182D840B9D342 +BE463CBA8C184A5066CF3C562B1180B231C61D26E2526730BDE7ED78D55D7893 +9A01438185A1FD0EF48EAA78E89F116F3F13A5> |- +/o <1C60D8A8C9B7A73DA75A812B0D9E0D72950C400992B64791CE4BE936E35E +C58E93177DA216CA6EA116FD0299C2317BCD42A8DF8FC302833AED60D02FEBA6 +105DB891946C90338F674D705E1347FE9120F0544578B7DAA3AE7563B3048B26 +98F9445592B7A6749491B2DE1FE4A1FD150BB3E20FEF7BE4E02D604E63E559C8 +B95FBFA7494AE1EEF5610DCF16F48AC01BFAB48671FA48799F609CBC8530028A +5C8DBEF01BFDEE2A> |- +/r <1C60D8A8C9B77FE2960E00E3A8DCFC480C099B33BBDDEDCBBEDD2A0D472C +0A7B73DA6C507A02DE3334237527983B6592EE1B2F262F9019257EF00896B753 +BA1EE7B97E00D2814390DFE8166E795665E9161989E492FE9CF41E80A3FAC0B9 +410A0D35E8758FA16A6EBCF6A32D78AB8563CF90B05BC9CE7CBF6CAB662900B3 +B6694F1FC2BDC482D5EA0481674C5822C4D45FD0EE1F9108A4ECF4F95EA02DB2 +23FEC06EA06FE96C26DCC8DC8D15> |- +/s <1C60D8A8C9B7361F0274264DFD1E2F12F4038CC3C2CC64F8E8B1EB247282 +BBD631FA3240975506A5A512CB2808310E488A51FE18729B6606AFD56EB1722A +E1D8ABC20744FDC6CBF3951E8F8BD520E7CF9D93CF33B4900AFA5C5C4D000CCA +D0ED41D50E319EB8B858BFAC6C03AFB2E197690568AF5E2BE9F4C558829874D2 +932ED897622551043851C0CC72FF3440821220BE6AECCD9E27B0282336CF762B +277D88192B83BEB39BF3A8D350E4CD0CFD13DA7EB0A8BEB03D5FAECB2BB99C89 +132A2E8C5DCDE91DE17F55FBEFBDA6CAE805794F42115FBC221DB69DBD324061 +3F374A> |- +/t <1C60D8A8C9B81F2C3AE0D71D60A6D0809ACA0FF6B89A38F7E3BC89850C1D +D34D082ECFCC2A4F531E37217E8E3CD02D42FE76F828E185B10A17EE368D50D1 +536CFAF78DF5C03ED49FE0A24E371BB0887E07856C5D39D6E9C2D58E0CAD3CB9 +8DB35234BA12CF62ED06495FE95A32> |- +/u <1C60D8A8C9B7EF322BA0905ED0DC683347CE70FA474511E47D7F16FABA80 +631D8B81EF4E26BB958E5CD419A29585E75FE6367FE08A7CCFFE45262AE333F2 +24F7158401337079DCB57A01C4153127AD91F464BC7389BDB2B1F912E0435254 +BC5B90C25CFA9CF36838EB1DC267155E152B4A4C084F64F36BC4A1C665448CAD +D0DC39A2B4C68518BC7B0B05DE633BA8500EE54DA457E79EC9CBA6> |- +/z <1C60D8A8C9B77FE2C1986438472A2C9D70A0C0C890DAEEC78B2382B5CA34 +002498561FAFE0768244CAABBA52D7D3A048A2667CBBA3F3F59CBDF1D57CE279 +52C1D2C5317D3EB02515CEEC9F921B2EC7847E> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/SQCIOR+TimesNewRomanBold /NAAAAA+TimesNewRomanBold findfont ct_VMDictPut +/SQCIOR+TimesNewRomanBold*1 +[32{/.notdef}rp /space 16{/.notdef}rp /one /two /three /four /five +/six 17{/.notdef}rp /H 9{/.notdef}rp /R 14{/.notdef}rp /a 2{/.notdef}rp +/d /e /.notdef /g /h /i 2{/.notdef}rp /l +/.notdef /n /o 2{/.notdef}rp /r /s /t /u +4{/.notdef}rp /z 133{/.notdef}rp] +SQCIOR+TimesNewRomanBold nf +SQCIOR+TimesNewRomanBold*1 [24 0 0 -24 0 0 ]msf +34 183.276 mo +(h1 Heading )sh +SQCIOR+TimesNewRomanBold*1 [18 0 0 -18 0 0 ]msf +34 221.707 mo +(h2 Heading)sh +SQCIOR+TimesNewRomanBold*1 [14.039 0 0 -14.039 0 0 ]msf +34 252.621 mo +(h3 Heading)sh +SQCIOR+TimesNewRomanBold*1 [12 0 0 -12 0 0 ]msf +34 280.373 mo +(h4 Heading)sh +SQCIOR+TimesNewRomanBold*1 [9.96 0 0 -9.96 0 0 ]msf +34 307 mo +(h5 Heading)sh +SQCIOR+TimesNewRomanBold*1 [9 0 0 -9 0 0 ]msf +34 332.581 mo +(h6 Heading)sh +SQCIOR+TimesNewRomanBold*1 [18 0 0 -18 0 0 ]msf +34 366.398 mo +(Horizontal Rules)sh +gsave +28 0 mo +595 0 li +595 842 li +28 842 li +cp +eclp +%ADOBeginSubsetFont: NAAAAA+TimesNewRomanBold AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2025 Adobe System Incorporated. All rights reserved. +systemdict begin +SQCIOR+TimesNewRomanBold dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/E <1C60D8A8C9B64EDFF43CAE20020BE166EFAA2D6213597545CD5E93E6A2EC +F3CB40FB12FF5A4C070DBCCCF0B65B2457F57DF6A0C7C4884A1C722677293F99 +9B1FC2C8D08D64F002B128F3BFCD49819B5AACEFF20CE165B17EA76BCA46F17C +AA0C8534F040B8DED7732E604914BB17644AD8556255CAF75EAA1ED433F63F74 +DA50EF21300E4F304B4F2F588004C410F1271626C943E366630C9CF2CD081974 +E99938D8C1D825DC2ECAC9A5CE7FB4AECC08C155FD082BF4A52E6D4F547F5918 +9007E7> |- +/T <1C60D8A8C9B64EDFAC3F7FEE28E60A2D46FD0FAC44F4BF1ECEDC775525D3 +2325A828B12C964FB6D74A0C4FE14A0DD96CAEF4EAA0126A69B727D57B0ACCA1 +106F306F3F56388F4DAEE3ED814AAFB8832FC0A69AA208C872EA3A7EF53CC637 +25646531EA7F6FB2091B2D37B57E1E18C3DDCBBA433E5D6358969272> |- +/b <1C60D8A8C9B7EF327C9F5E59F64001D54A424F699C06AB0FB80E6C48F15E +3095860AE363553C423849145AC4E77C2743AE352FD6B9238596705EEACD1E06 +54BA314247FE835D30F1B8C2EB2117560FEE624A983B434C7BF5634765665361 +F7F85B2F8DF4CFDCCC005E7662C3DFCD506372D7C7246D214A31807263849DF5 +C65A585B1DF219CBB65709552D46C6ED4A0285D36F48B423AB23BD6ACFC0C7B6 +29947C8A11D28F48BA7CE2730B98BFC4623C0DBD47E595FA> |- +/c <1C60D8A8C9B77FE2CEE96C7945B0435FFDDE211B8F948D1DBC8485861892 +F6D99960D947D725C2B400D72D2E2033C9690A49A5B9AEDD48C99E1E12194AA9 +2AD9E1221612038A683F14C558C3BE52A1D282380EB81ECDEF9B33E298B18379 +F2DEE9473052CB47C57B3F66F7E9B2774464DA469F0AEDB78DBA5D5DA2223912 +13D6F7DC6F471B1C2EAA711F193F31D398A5700FBD884113FD59850678DCA065 +0A6DD9CB70CA> |- +/m <1C60D8A8C9B6B41CFC233988897FCBA530F02D147BB7AF85B9F517BBC578 +1B669435810CBC26041E0605B47BFA77587843C8DEA6872E30E60DD3D438C9BB +8D13A068E6A5DF937094A6E524E8ED70D26936C5F28437339B2ED9ED1E128381 +B71F88ADC4859CF09A4E9326C601E9D02E557D79FA0D35091D0B26C944D85701 +92EAF995CE2C1A28E65FB43759B59A0ACE7537852DDA0B768658473254AD7FE3 +6D21B03DE50FD99C20BFBFC79E7047873A2A479A6E5438E97C747AF67AF1E9F5 +12A67523095886E0EB0825820E96F6092D3A65884FA0731DE0D706D105190F4E +D332E7352597BF7A2CFCF63D8F04FA067E8E861F1051B59BE9483406573D7AF1 +F5E466CF87BB2E2A90613071400F60D968E12D6DC015950B65998FFE4EF29FD5 +21C9F9EA96F784A5C9> |- +/p <1C60D8A8C9B7EF322B8F3C1339CC0CC7FB87CEAD61AE2C891E70162319DD +E1D773CD4C58B5D0C89F873363F696C9E4C6105ECC9F5414989962E4C7357374 +118FB8D6045447C557B79E23B00D6AED55D3610DB59773C4F03101D9258DBC7B +32C1285C0C65052E26A4E5597E87FB915026E59C0C25DE3FDABFFCE1168F7A67 +9C1B11DF8CAEE010E5B1F08558A9CD1ECAE6DAF8F59760015B341E27E7BD6550 +4717C3E0E98D597B37446179E7CBC19C105B8A11F14785E84DD33ED43C7F991A +380380592F35D096D19F> |- +/x <1C60D8A8C9B7A73DB9D68E3C59A537D4244B74F90AE5CF41C7B4A2C7BCA7 +A300F542CA93A2965E2AB86F9584D924C16737BF4180B7DA4B7375C292CAA95A +0E3B2594252BA96E488864DADCA2044CBA91A0274761964E2F75E7C5D311CC85 +FA3455FCD6989CD236F854D42654F054105B8E0A503E8AA280D5C605BAE2185D +188946DF0290DADBD2E70C64DD6894FEC8D24D6C9DAF05913AB860A656821A51 +421A29E857B8FCAFC52BB43B89323BB040408BE2C54B02756FD8F29437E2C56A +EA7FFF343CA63AC2EF68BA76DF88EA86E6216CF5E0E5EA45C5BAFB0EDA849E27 +79> |- +/y <1C60D8A8C9B7A73DB95C4B39F3AB93A7D69F83F2B8047D4639314C98339E +08E9F3BD78FDFA668BE53C852DDEA02BEFB5BD1B10DBE37D879EFCF7FD9D2E00 +CDF1E4EFD9CD923FAE6B009396FDCB4EEAD825731246E1170E3E99AA3F714D24 +1CD29BB31CDC566EDAEBB9BDEF44D807C915E6E89D41908E3901A956FE31DADC +18D7EF849ED76B52F1A3B06698FD033E6167CC1AC2C8785716DE38D052B120AF +9C29E526CA14F5E37B83EC530C8032A4F2C460BD5AB35798F15B14DB55B4949B +5BDC352409C997610729> |- +systemdict /gcheck known {setglobal} if end {end} if +end +SQCIOR+TimesNewRomanBold /Encoding get +dup 69 /E put +dup 84 /T put +dup 98 /b put +dup 99 /c put +dup 109 /m put +dup 112 /p put +dup 120 /x put +dup 121 /y put +pop +%ADOEndSubsetFont +/SQCIOR+TimesNewRomanBold*1 +[32{/.notdef}rp /space 16{/.notdef}rp /one /two /three /four /five +/six 14{/.notdef}rp /E 2{/.notdef}rp /H 9{/.notdef}rp /R /.notdef +/T 12{/.notdef}rp /a /b /c /d /e /.notdef +/g /h /i 2{/.notdef}rp /l /m /n /o +/p /.notdef /r /s /t /u 2{/.notdef}rp /x +/y /z 133{/.notdef}rp] +SQCIOR+TimesNewRomanBold nf +SQCIOR+TimesNewRomanBold*1 [18 0 0 -18 0 0 ]msf +34 430.767 mo +(Typographic replacements) +[10.6699 9 10.0107 9 9 7.98926 9 10.0107 10.0107 5.00098 7.98926 4.5 +7.66406 7.98926 10.0107 5.00098 9 7.98926 7.98926 14.9941 7.98926 10.0107 5.99414 0 +]xsh +%ADOBeginSubsetFont: FBAAAA+TimesNewRoman Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2025 Adobe System Incorporated. All rights reserved. +12 dict dup begin +/FontType 1 def +/FontName /FBAAAA+TimesNewRoman def +/FontInfo 5 dict dup begin +/ItalicAngle 0 def +/FSType 8 def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 32 /space put +dup 33 /exclam put +dup 40 /parenleft put +dup 41 /parenright put +dup 44 /comma put +dup 46 /period put +dup 63 /question put +dup 69 /E put +dup 80 /P put +dup 83 /S put +dup 97 /a put +dup 98 /b put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 107 /k put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 112 /p put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 121 /y put +dup 133 /ellipsis put +dup 145 /quoteleft put +dup 146 /quoteright put +dup 147 /quotedblleft put +dup 148 /quotedblright put +dup 150 /endash put +dup 151 /emdash put +dup 153 /trademark put +dup 169 /copyright put +dup 174 /registered put +dup 177 /plusminus put +def +/FontBBox {-568 -307 2046 1040} def +end +systemdict begin +dup /Private +7 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [0 0] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +41 dict dup begin +/.notdef <1C60D8A8C9B6FF86FBD66B095379F45880CA28D0F0C4629F99B72E +FEDBB222483BD74F8B> |- +/space <1C60D8A8C9B8707C25> |- +/exclam <1C60D8A8C9B81F2C3ACBC756DFE9E3D7D7F4EBE6782D5EE258DEBF6 +DAC9999345B97BD3A74D672FB7AE2544BAB7723D26A1230AAD813FA8FB3B64D8 +CE71530E18019CCCECE10D1903B543E5368C857E869CC4070EA754524F214992 +66F6C9E747FC2E4FA1AA6274140C2330C4EEB1CE43C6831CBF14F267951CAA2> |- +/parenleft <1C60D8A8C9B81F2C3AC09B674C4ECE2BEF4D70AD3508D915EA9A +E12419376F6EEF231ECE8179CA4531F29291ACACE060AEF98AD6F2FFF2BEA533 +946FFA1C8BC3953D72A31BB8ABD9782D71B2146F964D99646263E2D414F84FA0 +49D36B9B13B7F6C8AA7A4A5EB0> |- +/parenright <1C60D8A8C9B81F2C3CA029BC286E27661FD7F18B990CFF4A0AF +58404A2F35E11D14FBA406192D392AD203A879E34B8FA3132863211808E5BD63 +BDAA607B8E04E23E92C61AAA8B57E5E7609689020D20EB927A1EC6CC0BC06B54 +0A016D558248DC4A3E8183F5F> |- +/comma <1C60D8A8C9B8707CDCEBD9C789FC719A6E699B9D99F66BE737EEBAFF +7111B9225F270084B7F68BC0DDECBD8A23968AE48D16B628A165111DDE7E6CD8 +DD6007F82AE5C9057E54AF2D17F8AB7C9B11610F20000D2C65AB75461D35EBD1 +19C9E1C1E902BC7C231A59B4A0E3A4C206C50EEA0EE1> |- +/period <1C60D8A8C9B8707CC95A9B5DFDE3A4AF8C8BB7D0C82C30C322ED949 +85BC6C2F162CD480F8280AD954FE8DC511B40B423DB4A6012D9C419E4DF4F375 +C6ADD098717CA70F621> |- +/question <1C60D8A8C9B77FE2CE9B216A71B66CA33D14B0BE2B6AE978267BF +3F693B169E737F663A4B8499DC4C8B8FC5DEE3F18562E8CD96F9662C7C32B56F +1229CD7CE8FBB168E7DC0608167312094AE5A4F00E797C57D622AB6227307EF5 +8DFA588DBFC39F08C2F750B89B327768B26033F187AA18D3FF72970DE1B30D75 +1B45B07428B9F7D1749E648DE2C7C8DD30C9D13C6A008B22B38D24395819DE2E +21D4A4F358D41D33E8413EDE4818EE4F9401F9473809C1A817908EFB8B130C72 +B671A4BCE7FF3955781D6AFC1ED3BE570D614C238ACCA7CAAF5FEC0FF89AE0E7 +D46C96D11878394555C97C8B52A> |- +/E <1C60D8A8C9B7D8BE19945133FE501067A24BBF08B984801DD42E090C7BFC +A94BE6C4AA953A8A674F2ED3DEE261A8700CA873A3A1D3699D8129F8FA28DE52 +C44FD8214EA37190B26E64C97677BF6E1856F59EF49286A31D4133D861C74CDB +92794376B13E311920B8F547FC8F105147550894C833300FA326DF7877402F2A +3FD3184C9B8E130B79DB62E2735C65FD4E7A86140D8A7D764E8F05488CC19495 +58757A62743714E5384E2EF166B32CB849712A9C93B7CF04FCFE8063494A215F +A79B98816AEC20BC3F> |- +/P <1C60D8A8C9B7EF322B88F9F448EE5C6C6600BEF9C3C9A017B9BABF876458 +925BFD3DF1270B888D0A52682DD77562B0592DCEFA4305CC7C82B5C217C153D7 +D799EF75C3E1B47B2F2C3741BE023ABA656D3600645948113D9E1ACE5988E886 +C2CAB89042DA868AC9EEC60CE17BA00926C89C442DF26FC8F7E4DF94B56A18CF +B31DE37DED0B361C6E9E1A158721E9F2BF357AD3A9D82EC3F61E7737142FF120 +86F5CF2AAB01A87FB3B34AEED6F7C6CCE06EC32D6DE2EC0B548299344251FBC6 +28> |- +/S <1C60D8A8C9B7EF32243DA21D5631D8766D74D715030BA7905332A0CFAC49 +387DB487F69FE973B04989A1F5B84226AC0574A3AC8A92A20A67AC6A93CF1F8D +7D050DEAAE8CF31B4A5FB504F0A0814E8C9022E7C7EFFB00070B62EB780F5BFD +7AC1407620155D4B738E953EA9E8519FCB3635DEED6C82D9AB968BE1131CEEB6 +B072A246B745E2E47F0890CD4A4DD5061C30741173A5782D0F5AE0E645337518 +CA765AC1ABF9ABB13F9D6F8666630C08F558B2481DB7C0FEA08930FF35DE9049 +07DBC222EF06C7863FAB3917A57116C566327E1977A70091D7628A2440BE3AB4 +44BD01341C54F829742469A9B1CF3048C0B204E355F432B93B12EA12C84F80CE +13D22435E5FCC1B5A000DE> |- +/a <1C60D8A8C9B77FE2CEA139CB15A16492F485162FE605BA10F460B6DC550D +EC7BA0BCA1B89C8429260417FE96BA758C22F6762386C9F1CAF53456C89D4C6B +177AA810FBB608A57F053C4DA17FD8A122DD63CD2EE0563B0FFA48FEF5CBDB33 +3E4EF010579993E238020BE59CA5D3F31F329BD506C436A3A2AAAB6CBD385FDB +0E5188BC3D34A31214C941C253FAF1F818F84A3F73340CA7F3B7A85C87022E70 +BF3FF56918287082AAA1D7B6CDE998BE3D8663592D3F0DEFC69D87A351A29895 +DE83B0D7478C3C01D85F944C563EFCF85986470E4B8EDEEDC025A0FB3217B737 +B99EB7B6E2243F66B907475D1C465D1D07EDFEFC5123FE5A4D48A8B15BE3272E +F1EF1464C3F0D45D7CBB8749AF571E09> |- +/b <1C60D8A8C9B7A73DB90B311171EB67EB8746E2EC8FC994CCA7A632F7C7E8 +F4A5D28D725796F2BC8526696060F460C892CC5686CD97F757C6EFB11E42DD9A +F110BE11F49DAEFA324F62E3046D4E2410C0923EDB87332B0381414594D39992 +4398EF0A71772EF0EFEA72F5940C288418E4FCC7A2DE1E6A1AEA513FBDA0D660 +3C38C9676D3489A418D7163D5E50FB679144E02901D98844D885CA3AAF379A83 +F23AED1F56FC130F21> |- +/d <1C60D8A8C9B7A73DB9CAB5EAE520FF5085D357A7F1B1CBAAAB9D3C3D2030 +65B58561B55699E1F852D974E24DCDB3FAC1151DF1DB63800C3FA779DDD3329A +86B4E9458DA578ECA7DC82AB1CB5558FB398EDD8AF237A44BB61AD8FF07FB857 +EAFB03E3B7223E134D0A703B89A6CB54355CD1F1518C86E0EAFDD151579F5CCB +01DCDB1BD56096AB78D2E9ADD609F7B156D422E9074A62B38BF35F82A0AAD104 +E0C2CB94DA5F3F39F8DB246ADB5F008F682AF80FAED0C691E7A618879362783A +36815EA1CE5876FAC4F83CDFE1BD4A> |- +/e <1C60D8A8C9B77FE2C19119FE019B929F076F8319E8913467AECA41BE2BEA +D3EC175346E3F888D3AD76D215AD69034A954DFD661ECBEA3B145468480B6A15 +F5C865D2083DC0B04744AA76DE4CC9E0C9DBDCC2C59DAA00F28A6A47092C7FFA +0397DC47C5CBBA69AD805D3DD20D56411E92B0DE9E3F19C2FDEE1FA501318984 +A59E1CFFFD06EA629758085868D3F5F7204292> |- +/g <1C60D8A8C9B7A73DAC44F2C448ECAF253E44055AA4AFC4D4E618BBF7F608 +47F4AD57852D125F52503D138EEBB5C35DB7E6FF089D85EF3D59177D6853B7FF +4DCA48A2C6450DAF6AE7485D918680B6246955433B7E96C0D52B86F6985D93AE +A8FD99F7CE5A6EDF9F82F3DCD54C24AC7F5725E8D752728B16161496E9D02EA7 +07BCC03E7CE1BDA2E3632B4A11707F59DF2FD8556EC51A6594DBA10EC63EB7A8 +585255CC0C8C8B32CD6316A41829AE725CE606F4A4FD4DA668556D79F4AC25BF +9E697A5DB9F54B573E1EAA6D791100EAD10708C7E706E8CBDD596589510D4EA4 +5E3CA12E8144CF2A4E025D5293F77BF25BA77276DF7C97999133B17612ABFFD7 +0E77479B9C8ABBB3A51D3A6F6F66CA99610B1A23618D13E1A07B26D29ACFC819 +1E5B2829F3C990A5C474E53FC8B282F11A7FFA86D56BD2349AEC811B22D30027 +81921B9EDDEAA1B62C5F206266BA751F865F9A5F5AF517BC35F6F732012015D0 +BB42652388A219FCF002C2C0335D2D190C0C425C4FA28367480051E56A90DD46 +F1C707> |- +/h <1C60D8A8C9B7A73DB904DA2C7A38531EB5E07DB80E9375E00037710435E0 +27FD1F7B471BB2C47AEA703B8CB5C9C005CAA0B77F572194961F7C30413194A0 +134D3FF9BA81F629AD195D96BD3C1285904670FEB33C334E260F33EE9AB1A2D9 +C0C66E38CE4D3CA583879DAF16CE988CC2A14E39FED6599F4B0F3F8F061B585E +2410824AE8C179E66BD3AD9F6E34CD8CBF79298E3E4553D0E9DCA292805DED8E +36C58209B17E38B2DFAFEB881CA5FB9EC7A76A0CF0C4BFE83CE749EBD15B15E9 +7FBEA4E90F2186A54E69C28F4083AB76DBE019E4C57B27760FED872C4483796F +735A795EACD82F245D81FB43B5> |- +/i <1C60D8A8C9B854D0F4318DEB2BF4A8C14C2FAB601E0ED2FF31B9BA2C4F4D +9D824A65F9E753CDA6D59F3AE6B969EC176D4AA1F064BFADF6F4B6A5454B78F9 +8C4B41AC403B87C0044C2A2776BF32D7D2C5370D6DB44827DB4719A169BBE365 +B0C0BED49A30732BB5E35B7101E488713F0203C9161D1F92C48C80A640085090 +E2C5D79817DC05EB1FC5E4D24EE71772E51241DF9FD4D574115CFC53427DCBCB +8CA3E9F85837FAC6> |- +/k <1C60D8A8C9B7A73DB907772911B7C2CEAC1D2074B2642ADEDFBA1679ED25 +4D30D2D9A5BDAE41A6A7C0D78C5D75E9522858A70EEA458FC30CFDA879F9C1CE +85600A63BE4554ACA119AD822CC5727738E5E5FAC782F5B6F69100B3F9A42C95 +FB8AA53FD907276C4A477291A36A9FD6B1870ACEAFC297FB6D4CC1F0091BA095 +24439681D5D4A76F017EDD23AA69786F58BFB619D5D45A35621B583AF1C763E9 +94CD0C086A44F5E2750B3F3193B4E6E5A27940B47B22FB55ED113A092C7013A9 +8E096292640D2EA9CE95DF810761FDAF86F75648F6AFC27AA39909F96AF13446 +AC99> |- +/l <1C60D8A8C9B854D0F40B290C0C99C039EA88FDD293C1FEAB15D2F6B8C430 +4B80428A9C9B5571B0EE47CC29A6D67DEE51ABBBE57F6DDF0C02037EE8B6828D +244FB880634A92D947174D08130E6E2CF978B5067AA82A4CABC55E600FCE5527 +D6441CE02F5A28D63A618F> |- +/m <1C60D8A8C9B6FF86F5D75501F5946D14C10E01941D6F8F408CE11167932D +24264D7EFCAC2AE86125FDD757A8758D869BC4213413CCB2A6A255440BA1816E +9DC45844CC319542821B45F7B81EE7391A0EDD08008613940B7EF538F41747A2 +556BE4D609FA0E86A3720064373B35B3C09F29E00670FDA88D75DD91439C68FD +574D15688B76675600DF49F10BE44872E462D2FA9EDC453EEFA6E997D8F24910 +7C6F71C5B180EF91CFB08123DB5F12D5248BB769BCDBF86D09B3C1EE1D61D18C +E6632A82186FF826CE8FF5C9F24094455D2446DAB1258D7CEF6AB64018AE9556 +17323D2765A0C9FC9EE9EFC157214A4EF1A088A6CBE09BD12BF0618C85527D98 +7ABAA0F84BBDB3F467CD6D1AFC5F01D6CD6E91196626F968CD9EC222C872FAFE +C679ED97966B06F7D45253DA82AACAAC774A43132A3F4B4FB40FD07B5AFDAE82 +B335C3B8E42DF7C6FCB1E78E5819FAE1E5B06EBADF2F71F0A59372AEE76B5179 +96> |- +/n <1C60D8A8C9B7A73DB913C38909CDA29FD53BC2807766C389AFB9ED86F7BC +81642DEC755C464ECEF36210D9B2C516FEA8C1248DF87B00C42E8B7B13BCCD9D +4DADECDD469C646397E88CF560CD28B02CAE7D1B9203699A1DE9CF796CD494DF +60582CAFD70B7F17C1569B79CFC1B11937F06CBBF98FB3F8ABA83215B2800261 +30687B8B88299FC622B1B9C743E6B4E2D3E657B3D5566E1938323637D7929F2E +277006B7F4C91822AAA6911E494E2AD0998CB1FC1434E1920012738BB988F6A0 +027198438FE663C2EACF82CEB86F7C727594> |- +/o <1C60D8A8C9B7A73DB903ADC070A7C49752E736186D1727D7954B8F3DD441 +6250EFB2715F7FEA4B4F24611BB7B770A0989FFD12258A4EC0D90DD9998BDAF9 +96A44DE027AE6C486FF30337F30EB574748A139900482713C8EF6F8455DA4367 +02294DB22515A99C4ACC57A269598D687C25D5F66128E3441FE6E0D99B55B68D +9C19E720D771564C6692898D127FC55C985D08C7E6B95F874FD094> |- +/p <1C60D8A8C9B7A73DDE03BEEA75B31F61E78B8C94AAF630ACAE1A607BD40E +B48302A40F17E763F71E8B5595B8EEEBB33C0827EEA0DE5370DD4C7A09244048 +D0DA814D6E79BAC2B8E456D2F119496FF35E5A13F4B8F71ECD895B10E20FBAC6 +66023D0941B5A0FF139CBD18745BC2892DD91EE541EAD2B54AF0839C3327F759 +04A81A3805CFC7AF83735A7079B305271753A14327F3CB693ACCFE5C9D6A3B84 +31B357819DFFAD81BD2A60573E4CA4C48EC0A5E07291768D829E6A70067C076E +94545FD4D8E2BB7431617263A47DB04F0B8630D6AB06FF2DD1B1F383A59D02DF +1C7730E7CC0F462D79552DFA> |- +/q <1C60D8A8C9B7A73DB694895DD5E49D3BBCEE95B381618ED0718BA1F35CD3 +9E95BCBD1002A9F89110DE3E7AD181B368295D0F054E6A3D9A7267329EB95AB8 +13B7AE1696D9C600AC6A6B00419AEBFBF715793C3A2F30373AE9BFAB97302272 +E9B4EA6D0F482F853122AF239C1F65C8335B7091413102CCD1675C767B686462 +E8E1B94DFF670F4F69122307C3AAC013B5112B2F564262A5E8DE4D58B097F43D +017CDAA97C6843EB833175C60735563DF7F92AF1ACD211546A7958997473A18D +23764933CEE9DC71CCD4C3E61E53DA702E> |- +/r <1C60D8A8C9B81F2C3A9916C4CB28F21023538C2A69D3E08B0A448624D2CE +6C19473DC07A6A4C3E0D8D2DFD7B9589F2461E064A251BFFB4F1472DE500E983 +E2E667F5383BBA338778795701927E45FB048834AFB7FF5E045C79CAD4F90B53 +A8A93629365ECF1B64B7916DE5DAB65845D9DB9B71D2B7B722597153CE4BA455 +AAC1333D36087A511839B6E1301E787D03299ED6FB7E787777CDACC74EC37D8C +360275B503E4954E912CD342> |- +/s <1C60D8A8C9B7361F027554B74948DF9D509740193A97E4C5A946CCDAC22A +CE16A97A38CAF70766C30631C22477718670FA129F481BA880FC6C2A8C233A03 +9A7A46ACD6F3CA0422B1CD13AB9E5980A98B78F274FD5FB0A519013427E3DF40 +BD973F22C9B236BE3D27B0A78749138244A4ED344575D4F7F677439F8C2359FA +AB210EA03D2DAABF38A6B5B4F0819D6E85CC68A9859B12239E01058FD0C7C593 +B22AC00DE1C2A90508610457C5DFEA41C78C4C677B338B4C0ED41B0474AF509B +93D8B3403DD443273DAE4F97B7CDCA81379AB0933639> |- +/t <1C60D8A8C9B854D0F414EAB29549463C152A8395E080F8A65050DED29448 +713A9991EC80B85D2E40BC855D0C9C1C8F48B9F54A9F2AF77E5AE0CF2D93DC43 +DDEECA57457D57C32A4E7F92D72E19B411BD6A8FD776B503B1ED0E4E775E798B +36CAB4543E392F481E83DAF858D3B1A895E3CC06AB3573C04543D9> |- +/u <1C60D8A8C9B7A73DB9860E0681DA8AEA1E5FBC1C72A452614FEB33CC58A1 +99CCF544A550BDEE35652D618DE4A02AA9CF0753ADA232102DC8DC25CB958152 +D1B74BC447B68C074C25C2126470565A20B42A419CDD0C7A1DA63C6A764D555B +867A9BE961ADBD0AF5B2007F47FCC9435F8B51D3F3A5D83941DD57A0C4D32E16 +9A6BACC26F8AD3C9372F1114911D1D3F3FB2725FADBF9F529AA2CFB178B79F97 +520325221F3417C7781EB09765> |- +/y <1C60D8A8C9B7A73DDE03E4B644C159EB8B647E016C26B087177A3C5BC5BA +F02161182070C8A4222C2E1ED9B95B756DF22232FA7BE5897B7C6D574795119A +3B50894B8B0E1A184B7636697D129D88C76A3FD42BABE719D85F7DC372AB50B8 +B16D988DA863EE6A5B7454A406C9D5E815158A5786509E6DF27377A83F3454DD +6905EA3123CBA5BA0D4772C12767864CF2C5FEDE2AFF05D3CC0534D74E6AE9DB +F9F3B49677449A761BE771C9C1AB2D4DC994988233EE24B9E175796C6F13518A +71BC990F312D4821883A95164BCE1683B85434AFA8> |- +/ellipsis <1C60D8A8C9B5EE310D1B1F8DCEB2C2B9E5EF06E13C67147F38DD8 +4D76920A3802996A8962C56D2EB96BAFC3A5C0762D0D8C80FBA43013082F7B2D +0DA17752A4B6246C257C650648167596EFAD7F5E49E5A9A0C109AE3BB161743E +3BA77C85E4FA1EE535B31C8B5A0F1DE7E39EAFF67ACAEAF2113350371EEE4D36 +85339AB990649F738B756FBB56F510E19B7538B22EF8FD3742117F6EBA3FCC88 +801E3262CBDA459EA87E44F7FC4201CF47E55F1A5727BA84B2569C7B3D1D8D5B +66AA257> |- +/quoteleft <1C60D8A8C9B81F2C3AA2D6E3DAF33D87419B3E1C0E63B0BAA12D +0145B2B01EBF743D20E97C94C603BB0386B1F3380995F47630BCEF855C0C7573 +EE39C52250A19782A686DC3FE7A620448F0B31DBCB9CFFD11CFADB998C7ECE4B +606C7890C4A1F0A39EF392564432E9B047547B7569EB09680E> |- +/quoteright <1C60D8A8C9B81F2C3AE72BEEF3B3290151ACAD934635B53EE34 +3765DC00DDA5E59E0B9551EA71A93566E41E2A57804878098AC91D378BD79AE2 +3B42BDD5EBF14D1EDCFEF4659707ABCC29195DACD651C824AF4FEE36FEF9B446 +59A3E254B493C479F566080A57367779B650C1A88225C3E2392> |- +/quotedblleft <1C60D8A8C9B77FE2F43A76E4912D7163AC11902AD7C234B74 +2FF62871D67470D7026E5ACC8B1D8CEF99420E7F7860DCF7A6422669B5D79D32 +5CFE52DF8F4CF34374E0E482F60A30C9152F8069ED13FC9CF9A530E42249E8FA +E96D034AD80DCE43DBBA915FEA5F4737314E622C453C58125111AEA37653CC0C +0650BEE2EDF491BFC7AFEC7F495F979D139FA98A747BE243FD4BD97B3EE5FC69 +E084AAAC5B68E57A5B388925448A3EC01F5C881D9AAF785BD1437E4D884D0210 +80B54F8A80BB051F5563CAFB9B6B6BC74759E1D7F053D7263B6A65375D57243B +6A3> |- +/quotedblright <1C60D8A8C9B77FE2CE37CBD206E2367344E6D4AB2B301C9A +13A5E437ABFF2434B1D868EA9A4B7B14FD42AE05ED1CA85A6CB9573D46B9CC4B +D23270AB566C290A1CF93FA53E1BFC76B04C8792C99E28E8A6824F6F9C233BD8 +F6639BBE9CDF1EB067C4AF9276F05DB9E51C499FD4CD7F630672E3CC5A4E9C77 +4FB548C66A310E12C0687E2C847D4457F9A7BF4A0EBFAAB5917C14DF599E927D +69452E9B917D27EBE5B2D07E69089126297C51605BF45DA592CB1D3100003DBA +F9E649804AA56359F55BE102094D1956F89A3C38F8177046DCB95E6867E52FA4 +91CC2657> |- +/endash <1C60D8A8C9B7A73DB62A0F798E4A96E94ED88A9210A24F> |- +/emdash <1C60D8A8C9B5EE310011291E1712B42F9E536A1E3B519D> |- +/trademark <1C60D8A8C9B5FAE4147C54AEE2D5681CC4EEE0243BE945379628 +AF735C169B80CC6135C07CF193BE8B465909C6183C5D4275BD9278F251A64C38 +8D02E564E9D3CACB9DF5FD4C0B0F27F838258A53D5593DA3A16EB14A4DF4B126 +E9E670EBD4B3BF3D5C92E83B742C90DF484DD2017E73E9F3B64F87C58CBEC764 +613E17285A18D578BC08AEEBAE53CCBD53339D34710AA27A44E3DB336ED55BA9 +E7CF1362C031BA2D5BD2C4BCB7F9F0CC8B9347CFDE642D5EB7B7A4498D23E647 +8A315C182636B77355EA5C2E317BB20475E469EF54E0F76ECEF1AD7B0D9A443C +7064E790272A1630D2B04453053945DF1AFC74D4FD9867DB89913CEB93C3CF7D +D17B5E9D59965FC09F2EDE63B0A239FFDAAFA3E6CCF4E90F67047E> |- +/copyright <1C60D8A8C9B6ED05D56B3AC952B41D5E1618BB72783F93DD757A +34CAFD2059F979E96AB69544D34D7D214304C5E3A3D6FB7ED40A02953B36A1D8 +808695B78C55D29585AF0F1827ADCBC373AE9378750CE83F29C2BD4B1F22E696 +679EA182D167CDE093518621C3C1C9ACEB5339063D89C3E4048FE3390C0CF71F +19B53B3672409D7CED1106FCB7452461517092153D818854AE029A9C7864F0B1 +B6250F9BFDF2C237B529DB82FB1CC9757D16C9794FAF2915A0854E808EE6A348 +7C4C4B2E40FFC2A8E369FF0D8FF87FCF2FD6340D9EFE8124097E871344CDE3C2 +C6953E424F1CB8E3817373DD22FE107FA44A457434796E0736B85F78A635A86E +4FB5FF26E32327575581AB5290B49DB8F174F9086A0EA051F2DF206A0C7B0828 +6A50679F0641AC75ADD873D9D02C6399CB06B7FA2299EE0D27FA308730007413 +EC932D8C2E286C8524E26051BFCFDFF78D027511> |- +/registered <1C60D8A8C9B6ED05D56B3AC952B41D5E1618BB72783F93DD757 +A34CAFD2059F979E96AB69544D34D7D214304C5E3A3D6FB7ED40A02953B36A1D +8808695B78C55D29585AF0F1827ADCBC373AE9378750CE83F29C2BD4B1F22E69 +6679EA182D167CDE093518621C3C1C9ACEB5339063D89C3E4048FE3390C0CF71 +F19B53B3672409D7CED1106FCB7452461517092153D818854AE029A9C7864F0B +1B6250F9BFDF2C237B529DB82FB1CC9757D16C9794FAF2915A0854E808EE6A34 +87C306626EFD2AF2869E04FAA0B2AB2D1C98D579CB101BAD34BF76B7EED6B52E +724D3D2126BE315124622F07BA0F288CF5AF8A87E9EF314016EC9443A1AE8C3C +910C0553C90355E655AF56FBDF522A7A40CA5868FA1250266F8276A00737D714 +F42FA4EC28546AB30B44F04C54774734E20A94AB70E38DBD2A7791DA4C591B91 +158CB7D6277971F6F3A23F14BA6697EEFD32BFDAF6BEFCB6562A9DAFDC2D1AA9 +447694AD7673408032E8978D8F69251BD473E7CA4BF3BDC> |- +/plusminus <1C60D8A8C9B79676FB1F1C3483630A3E746B8D92259F8E9B8C36 +D901B78257C6EC5CBED7BFBCAAD6F9FE91B7B7741966EAEA858767D1> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/SQCIOS+TimesNewRoman /FBAAAA+TimesNewRoman findfont ct_VMDictPut +/SQCIOS+TimesNewRoman*1 +[32{/.notdef}rp /space /exclam 6{/.notdef}rp /parenleft /parenright 2{/.notdef}rp /comma +/.notdef /period 16{/.notdef}rp /question 5{/.notdef}rp /E 10{/.notdef}rp /P +2{/.notdef}rp /S 13{/.notdef}rp /a /b /.notdef /d /e +/.notdef /g /h /i /.notdef /k /l /m +/n /o /p /q /r /s /t /u +3{/.notdef}rp /y 11{/.notdef}rp /ellipsis 11{/.notdef}rp /quoteleft /quoteright /quotedblleft +/quotedblright /.notdef /endash /emdash /.notdef /trademark 15{/.notdef}rp /copyright +4{/.notdef}rp /registered 2{/.notdef}rp /plusminus 78{/.notdef}rp] +SQCIOS+TimesNewRoman nf +SQCIOS+TimesNewRoman*1 [12 0 0 -12 0 0 ]msf +34 459.493 mo +(Enable typographer option to see result.)sh +34 486.433 mo +(\251 \251 \256 \256 \231 \231 \(p\) \(P\) \261)sh +34 513.373 mo +(test\205 test\205 test\205 test?.. test!..)sh +34 540.313 mo +(!!! ??? , \226 \227)sh +34 567.253 mo +(\223Smartypants, double quotes\224 and \221single quotes\222)sh +SQCIOR+TimesNewRomanBold*1 [18 0 0 -18 0 0 ]msf +34 600.027 mo +(Emphasis)sh +SQCIOR+TimesNewRomanBold*1 [12 0 0 -12 0 0 ]msf +34 628.753 mo +(This is bold text)sh +34 655.693 mo +(This is bold text)sh +%ADOBeginSubsetFont: NBAAAA+TimesNewRomanItalic Initial +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2025 Adobe System Incorporated. All rights reserved. +12 dict dup begin +/FontType 1 def +/FontName /NBAAAA+TimesNewRomanItalic def +/FontInfo 5 dict dup begin +/ItalicAngle 0 def +/FSType 8 def +end def +/PaintType 0 def +/FontMatrix [0.001 0 0 0.001 0 0] def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 32 /space put +dup 84 /T put +dup 97 /a put +dup 99 /c put +dup 101 /e put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 115 /s put +dup 116 /t put +dup 120 /x put +def +/FontBBox {-498 -307 1333 1023} def +end +systemdict begin +dup /Private +7 dict dup begin +/|- {def} def +/| {put} def +/BlueValues [0 0] def +/password 5839 def +/MinFeature {16 16} def +/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869 +systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup +/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def +/Subrs 5 array +dup 0 <1C60D8A8CC31FE2BF6E07AA3E541E2> | +dup 1 <1C60D8A8C9C3D06D9E> | +dup 2 <1C60D8A8C9C202D79A> | +dup 3 <1C60D8A849> | +dup 4 <1C60D8A8CC3674F41144B13B77> | +def +put +dup /CharStrings +12 dict dup begin +/.notdef <1C60D8A8C9B6FF86FBD1638113E4B58C0B5F39100186722805B704 +AA3988900AFCFF05DD> |- +/space <1C60D8A8C9B8707C25> |- +/T <1C60D8A8C9B7EF323B043F7356D787F22DD5A27FFA2879B142D44CA92E81 +ACF7A975B0E45B81B44C53ED72199A1209DEC52D9515733C0E6C89D066C927AC +EB3656C4FB019EF01B90F9D679F1D15A9D6304D98B7C01DDB7292A5060DFD76D +203F0196DC3CFB7A1EE816A5CD53976C6ED6843E9C8EFEB0518A2899C5367D08 +14F7971EC4C722C4F59C> |- +/a <1C60D8A8C9B7A73DB68C06FC199F1F2F20B1C2E3715651C87BCD4ADD6877 +5B4647B129144EBE49EAC15F019B26773F428CC0D1BB4A6183FD1BAD53C3DC7D +C1778E21FEA13949F179F397E1068E68EF5BDF24BE0DC7557B673C23D4A50497 +DF80D9C838AB9EEA3C59483A8E7BD334D2361BCA7F19AE87B1D972F7B79ABAD0 +7378C084886016D514CC545EA1F4A9EE8851A3C3F902C0F0DCD2FEE069D9BC21 +3BFD5E5AFCA4D73D61283DE2191744FD94BBAE1E2CE71F1DD86C9281938B9644 +2B456E7FA2EA8852C51CB5A9C2A0AFF4A5706E78B9A6A93AA2E14914A3A3355D +7AE853081C2D03136A31> |- +/c <1C60D8A8C9B77FE2C1AAE0EC93E571B636F5347D3714722A84750C1B29A3 +9B8539044786FB4D21214EC790263603D768977575E3DFEDEB06ED210B719A19 +51D9CD3A1CEDC2DBBBA9F50EB52B23C7BC0E7C5116FC1274BBC998D424E35185 +95216116D6B76CDF4E0BCDAF27025304BCCA1980CECDB742C27E839F34D438C5 +CC751D1A202A9B0CBB89CFB07DF67AB5E8EE4143A6BB864E7AFD01C988BDA57B +AAFB46475895EDA7DC9A3D645E52BE6B50DA1C1724C629C5533C12A95B43E497 +C080A6D8450597> |- +/e <1C60D8A8C9B77FE2CEBC851BC1D55BEFCC6636F8B07C124AAAAD6AC237A2 +E0178B712156D556EE6FB45645CC6CBEAF8E97CBE4F832E2F621B213660DC4F9 +A0F0631BE4B937D282930FF5CB48932FE4C3118EA58028F6EA53582C8DE2452B +3135816834C0E4D947BA5BD58F1D5AB9E28423127BFB8D26FB6EEF3AB8E9B9D2 +410DD3AF694FFEBD7B7FE682E5B937ACC2C6A43489D3F9EF3944E87BAD6842E7 +160B3BC59BD87C15EE67EE949D19E2030F058D91390B17854C6C> |- +/h <1C60D8A8C9B7A73DB934211EE75262541A4D85B1CC4DD6D9C4EEFBE392B2 +C3DF5E8B3AD1861AF250672E43E47D65A2910BA6093D7F37665DB6F20ED3CAC7 +E203AFFF54D81CA639706D1AD945448E2C4061AEE88677BFB689EDB256B054E6 +3EA418718F0BDB6A92C04DBD4739E7122649EE83BC0CE5F7638133DC907C5EB2 +BC5A2F7FA147FE5A1B3391F309C5602D0D237A0F40E52035CB5685844AC784AF +DD26FD7B41C3515F6B73D4C6EED94F09D9360851CEFA497A29FF3613FEF17A0C +D2921A429E8F85B8F39F59022F066567DAABA859FF01519AE0F5F9457096CFA7 +92FC8B9E3D2AB2C897> |- +/i <1C60D8A8C9B854D0F4620EF8AB3A43726CA9F1D5CA3F0AC21C46156AA7EA +FD30B421C67072AD9E9673A39A0C73C611BF2D30694524FB9362DF4B7BF42BD4 +03E13FE93BE1CC4B973BBB2F8A1766424F865950A3B4E0C2909B014DAC40D6C3 +1A5A624961F141A00D5EA650DA557D976995CE1AB37642609DB19511A8C6A021 +6D711E915D0A16129E261DB540D787FC5DFEB3FE9BF504AACF3812EF9A098716 +4BC0CA8AED8AA0620C2C50ECD33D7A5F1286537664219BFD394BB743A505> |- +/l <1C60D8A8C9B854D0F428CB56497DB3751CBCE205181DF8576DE7D01F56E6 +658D50F3A55031CCFD90149657F347A7B8FBDA51BC713C50D2F7103D339A28E1 +EA0AB3CDF3E8F9F3065FE59E41F46C69A0F86CC9ACCBC34698A8315C973C6386 +81FD1CB4E96CC4A31C9059B1294515AA76EDF0278C3082EAC668C9E35B588539 +A6BE> |- +/s <1C60D8A8C9B7361F025C7C4D0303D6CE893F51D869BCCC57F238FED481B9 +6AB0D6B406042D64909B5B15A441860ACAD524570DEF75E4EA76578FD91FD71A +8077FF6E23AAE6F0974095E4C999A83B7E16B60FBB6A5AE152855056216BA421 +C7B30818AA939C216FDAB05C60988B0DD7002BC261826362CD346E3A6F514F9F +1431C9C48DFC0F46570808CB49BD9B3149C4A3AA291BC1EEAA3D03623F2375C9 +388ABFFC392B3B4B21840AE82436B62C4B88BD91D9BCB6B1AFA172883784EBAA +7B75DEB4573067FB9BF34769691A6A89267BC4E51631D49211C8FFEA> |- +/t <1C60D8A8C9B854D0F4BEDEF58C8CF76928EC03CF9E6A69066343B65CF2F2 +9CD6E545B8A00752040D324808F3F5D7377FE94463A69378800F35B93737A90E +D33397EF28DE6855D7404A61AF81C1EEF0FFED3B556E8E9BEB0451CA1D28658C +106F5916BA3D50810F2ED0B604B6D36F194AAE36158BC40E0B3FFAD76350433E> |- +/x <1C60D8A8C9B77FE28E7B59861DA633FA42A38BF207DC4A11329E63F66801 +0B05585B22E39E733F2B39E647F14D7DCD27965006EEC01D3FBB556E503629E4 +5F186BD20587B6FF8BB4E525ABE63E26F210C9F85E012A8DB6F803B316624083 +082E536A1274247334ADD37479C48FDB7D8ADD850A8832DF9217A2BFFEECF6DD +96F21564B9189ECF65AD0E783A58F9E296A99147AE132DD5B0142AB4EA574166 +8F4195BDF7097E5D12CB419F2F282E538E1EB21217502E3C6B11740802EC650F +4D2ADCD4B1772219DAF6BE6429CF2030BDF9C05BA7A5D790670BD325C71A55CF +EDEE3AFA9492A129CF25024BDA2414AE27F397E2DB63BB72C98E3704AEDCD4D4 +A43DA02887C90FEE11520BD99634849C2457543FCB5BD3F0> |- +end put +end +dup /FontName get exch definefont pop +end +%ADOEndSubsetFont +/SQCIOT+TimesNewRomanItalic /NBAAAA+TimesNewRomanItalic findfont ct_VMDictPut +/SQCIOT+TimesNewRomanItalic*1 +[32{/.notdef}rp /space 51{/.notdef}rp /T 12{/.notdef}rp /a /.notdef /c +/.notdef /e 2{/.notdef}rp /h /i 2{/.notdef}rp /l 6{/.notdef}rp +/s /t 3{/.notdef}rp /x 135{/.notdef}rp] +SQCIOT+TimesNewRomanItalic nf +SQCIOT+TimesNewRomanItalic*1 [12 0 0 -12 0 0 ]msf +34 682.633 mo +(This is italic text)sh +34 709.573 mo +(This is italic text)sh +SQCIOS+TimesNewRoman*1 [12 0 0 -12 0 0 ]msf +34 736.513 mo +(Strikethrough)sh +.667 lw +0 lc +0 lj +10 ml +[] 0 dsh +true sadj +34 733.407 mo +99.994 733.407 li +@ +%ADOBeginSubsetFont: NAAAAA+TimesNewRomanBold AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2025 Adobe System Incorporated. All rights reserved. +systemdict begin +SQCIOR+TimesNewRomanBold dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/B <1C60D8A8C9B64EDFFBB11F3E2A10057E50E341ABE1DBC770E1C5C06F81BB +728FC2798FE7DE3D8D55194754531B662F878A1C5B52B2BC9A6A3EDB01E8FAD7 +4764554945ACDBBFC441DBC7519AC204790E8B10B16B935FCC95B5AE677CDEDC +158F367FBEAB4DECE80779208A83BA5B988094ABB02C8947DE7BBD9D5F70EFA3 +56B1D1C419EB58119C17670AB47845E8F10893AE4CFED7310F4A2EDE886F593B +1F88AC8C92C7F8B9234F7F24A3DD94F3DD1E2EFF386B3CD9BEA0954D5167541B +4C28B1D6215876A5CF1DACA668DAD06206151F500A2C0940462ECF20F084902D +891E2F1FCB461C960983384E140E45CB0A961888ECF5B48232> |- +/k <1C60D8A8C9B7EF327040B55B5C610F053298A49F1A03819DBD6F4F60545E +065EABAB2986F681EE9AE8BB5F4A6DB5E9D60645B44D5A0FD3EB6CE6C6340441 +D7C5953B9DA3115EEBC7964DE270BE0FFC714A3507B2C50455F5A0647F2361C8 +DF33A64111EB3F649A8FB92120C0460E15CED32185094B4057B324392EE3288A +599FF73BC2127FE30ADD617876E7EDEFBFA39DC72F0935FE7C433EFBCBE8EEBB +D55040E8F2F259A453DEB014DB0E24E0BB23A24CF25B456D> |- +/q <1C60D8A8C9B7EF322BF27C492D0942B07278DF76C4B71F19B309528D533C +9DF411C58668D3B2459EAA320C66DB35CF5F1088870EC395DAB0B5FEABACA45E +A11C363F0675CAC7B4FC26A48585FD026F353AE660BE66F2BF6B5E43B32A75B1 +DC277244BE8854A62C601FCFEB542A4935CE9EDF31141C341D95E6195A169CEB +5B72D88B8CC450F399A33AB8C18EC13901F2A026A51B0C5F221B98EE61647D3F +A830F91C49F4BD55F20DC41BAB86B2BA0A52B3D8D0E2E5BD5EDAF21F0AEFBEB5 +86C2EF47E89B5D8F> |- +systemdict /gcheck known {setglobal} if end {end} if +end +SQCIOR+TimesNewRomanBold /Encoding get +dup 66 /B put +dup 107 /k put +dup 113 /q put +pop +%ADOEndSubsetFont +/SQCIOR+TimesNewRomanBold*1 +[32{/.notdef}rp /space 16{/.notdef}rp /one /two /three /four /five +/six 11{/.notdef}rp /B 2{/.notdef}rp /E 2{/.notdef}rp /H 9{/.notdef}rp +/R /.notdef /T 12{/.notdef}rp /a /b /c /d +/e /.notdef /g /h /i /.notdef /k /l +/m /n /o /p /q /r /s /t +/u 2{/.notdef}rp /x /y /z 133{/.notdef}rp] +SQCIOR+TimesNewRomanBold nf +SQCIOR+TimesNewRomanBold*1 [18 0 0 -18 0 0 ]msf +34 769.287 mo +(Blockquotes)sh +%ADOBeginSubsetFont: FBAAAA+TimesNewRoman AddGlyphs +%ADOt1write: (1.0.24) +%%Copyright: Copyright 2025 Adobe System Incorporated. All rights reserved. +systemdict begin +SQCIOS+TimesNewRoman dup +/Private get dup rcheck +{begin true}{pop false}ifelse exch +/CharStrings get begin +systemdict /gcheck known {currentglobal currentdict gcheck setglobal} if +/B <1C60D8A8C9B64EDFFBC13662E45548907DF94CFDD8366168A19798D3F940 +23374D4D2C86938E32D7DB9C1872F3A204253AB72EA5DE94FC03994C8EF8A3AE +A69543654A5C81A183CE8AEAD100B0BA927EF2453AE33B886ED98847317AAC24 +83A7B07D884E6BA01DCB84EDD0DBB4BCDE82582971377C63466C51717F481B41 +2F62082ABE2DA40B3D1CD64A6F92915DAB718445366AAC40CD207CDC2AEAFBF7 +5F78F4F875F819FE068F712E647D09F9C9585654CB217F940FB0CC4A0399BD16 +E20306B0AE361121402EB02A27DB6252E098ADE7CC6B62128FF27D9B35E95597 +8F8F1CC87FEE6B14877366567A52B860F7D53BC608D1A75802EE31B412> |- +/c <1C60D8A8C9B77FE2C180CE42B4078449B9D767742AB4CF5971DFD438ECC5 +4400989182964B065BACA704BA363536AC987FC433F59A23A3DC16CBD969F42A +6041BB8327C43B9105FC5DF44A0437E9E26FE545542A602D007FC6A926264F9C +2999730E7919239B324086FEA852156F456647AA0692084759C352D699897179 +9F4BEF3EFB7DE91C98C83C567200278FF2145E16D28EDE7556C59DB204> |- +systemdict /gcheck known {setglobal} if end {end} if +end +SQCIOS+TimesNewRoman /Encoding get +dup 66 /B put +dup 99 /c put +pop +%ADOEndSubsetFont +/SQCIOS+TimesNewRoman*1 +[32{/.notdef}rp /space /exclam 6{/.notdef}rp /parenleft /parenright 2{/.notdef}rp /comma +/.notdef /period 16{/.notdef}rp /question 2{/.notdef}rp /B 2{/.notdef}rp /E +10{/.notdef}rp /P 2{/.notdef}rp /S 13{/.notdef}rp /a /b /c +/d /e /.notdef /g /h /i /.notdef /k +/l /m /n /o /p /q /r /s +/t /u 3{/.notdef}rp /y 11{/.notdef}rp /ellipsis 11{/.notdef}rp /quoteleft +/quoteright /quotedblleft /quotedblright /.notdef /endash /emdash /.notdef /trademark +15{/.notdef}rp /copyright 4{/.notdef}rp /registered 2{/.notdef}rp /plusminus 78{/.notdef}rp] +SQCIOS+TimesNewRoman nf +SQCIOS+TimesNewRoman*1 [12 0 0 -12 0 0 ]msf +64 798.013 mo +(Blockquotes can also be nested\205)sh +grestore +grestore +grestore +pgrs +%%PageTrailer +[ +[/CSA [/0 ]] +] del_res +/SQCIOT+TimesNewRomanItalic*1 uf +/SQCIOT+TimesNewRomanItalic uf +/NBAAAA+TimesNewRomanItalic uf +/SQCIOS+TimesNewRoman*1 uf +/SQCIOS+TimesNewRoman uf +/FBAAAA+TimesNewRoman uf +/SQCIOR+TimesNewRomanBold*1 uf +/SQCIOR+TimesNewRomanBold uf +/NAAAAA+TimesNewRomanBold uf +Adobe_AGM_Image/pt gx +Adobe_CoolType_Core/pt get exec +Adobe_AGM_Core/restore_mysetup gx +Adobe_AGM_Core/pt gx +currentdict Adobe_AGM_Utils eq {end} if +%%Trailer +Adobe_AGM_Utils begin +[/EMC pdfmark_5 +currentdict Adobe_AGM_Utils eq {end} if +Adobe_AGM_Image/dt get exec +Adobe_CoolType_Core/dt get exec +Adobe_AGM_Core/dt get exec +%%Pages: 1 +%%DocumentNeededResources: +%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 +%%+ procset Adobe_CoolType_Utility_T42 1.0 0 +%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 +%%+ procset Adobe_CoolType_Core 2.31 0 +%%+ procset Adobe_AGM_Core 2.0 0 +%%+ procset Adobe_AGM_Utils 1.0 0 +%%DocumentNeededFeatures: +%%DocumentSuppliedFeatures: +%%DocumentCustomColors: +%%CMYKCustomColor: +%%RGBCustomColor: +%%EOF diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.epub b/examples/documentation/sample-data/convert_pdf_document/input/sample.epub new file mode 100644 index 00000000..1b30d372 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.epub differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.gif b/examples/documentation/sample-data/convert_pdf_document/input/sample.gif new file mode 100644 index 00000000..985fb87a Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.gif differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.html b/examples/documentation/sample-data/convert_pdf_document/input/sample.html new file mode 100644 index 00000000..66bcc467 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.html @@ -0,0 +1,245 @@ + + + + + + + Test PDF file + + + + + + +

Adobe Acrobat PDF Files

+

Adobe® Portable Document Format + (PDF) is a universal file format that preserves all of the fonts, formatting, colors and graphics of any source + document, regardless of the application and platform used to create it.

+


+

Adobe PDF is an ideal format for electronic + document distribution as it overcomes the problems commonly encountered with electronic file sharing.

+


+
    +
  • +

    Anyone anywhere can + open a PDF file. All you need is the free Adobe Acrobat Reader. Recipients of other file formats + sometimes can't open files because they don't have the applications used to create the + documents.

    +


    +
  • +
  • +

    PDF files always print correctly + on any printing device.

    +


    +
  • +
  • +

    PDF files always display exactly + as created, regardless of fonts, software, and operating systems. Fonts, and graphics are + not lost due to platform, software, and version incompatibilities.

    +


    +
  • +
  • +

    The free Acrobat Reader is easy to + download and can be freely distributed by anyone.

    +


    +
  • +
  • +

    Compact PDF files are smaller than + their source files and download a page at a time for fast display on the Web.

    +
  • +
+


+ + + + + + + + + + + + + + + + +
+

Value 1

+
+

Value 2

+
+

Value 3

+
+

1

+
+

2

+
+

3

+
+

9

+
+

9

+
+

9

+
+


+ + + + + + + + + + + + + + + + + + + + + +
+

1111-9999 +

+
+

2222-9999 +

+
+

3333-9999 +

+
+

1111-9999

+
+

2222-9999

+
+

3333-9999

+
+

1111-9999 +

+
+

2222-9999 +

+
+

3333-9999 +

+
+

1111-9999 +

+
+

2222-9999 +

+
+

3333-9999 +

+
+ + + \ No newline at end of file diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.jpg b/examples/documentation/sample-data/convert_pdf_document/input/sample.jpg new file mode 100644 index 00000000..85a0a79f Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.jpg differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.log b/examples/documentation/sample-data/convert_pdf_document/input/sample.log new file mode 100644 index 00000000..89de6450 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.log @@ -0,0 +1,105 @@ +This is ObjectTeX, Version 3.1415926-1.0 (TeX engine: Aspose.TeX 24.8) (preloaded format=objectlatex 2024.7.31) 26 May 2026 00:03 +entering extended mode +** +( +LaTeX2e <2021-06-01> patch level 1 +L3 programming layer <2021-07-12> (article.cls +Document Class: article 2021/02/12 v1.4n Standard LaTeX document class +(size10.clo +File: size10.clo 2021/02/12 v1.4n Standard LaTeX file (size option) +) +\c@part=\count181 +\c@section=\count182 +\c@subsection=\count183 +\c@subsubsection=\count184 +\c@paragraph=\count185 +\c@subparagraph=\count186 +\c@figure=\count187 +\c@table=\count188 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen138 +) (graphicx.sty +Package: graphicx 2020/12/05 v1.2c Enhanced LaTeX Graphics (DPC,SPQR) + (keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks16 +) (graphics.sty +Package: graphics 2024/06/18 v1.4d Standard LaTeX Graphics (Aspose Pty Ltd.) + (trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(graphicso.cfg +File: graphicso.cfg 2024/06/18 v2.0 graphics configuration of Object TeX (Aspos +e Pty Ltd.) +) +Package graphics Info: Driver file: objecttex.def on input line 93. + (objecttex.def +File: objecttex.def 2024/06/18 v2.0 Graphics/color driver for Object TeX +)) +\Gin@req@height=\dimen139 +\Gin@req@width=\dimen140 +) (l3backend-objecttex.def +File: l3backend-objecttex.def 2021-07-12 L3 backend support: (Object TeX) +\l__color_backend_stack_int=\count189 +\l__pdf_internal_box=\box50 +) +(E:\Github\Aspose.PDF-for-Java\sample-data\convert_pdf_document\input\sample.au +x) +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 4. +LaTeX Font Info: ... okay on input line 4. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 4. +LaTeX Font Info: ... okay on input line 4. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 4. +LaTeX Font Info: ... okay on input line 4. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 4. +LaTeX Font Info: ... okay on input line 4. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 4. +LaTeX Font Info: ... okay on input line 4. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 4. +LaTeX Font Info: ... okay on input line 4. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 4. +LaTeX Font Info: ... okay on input line 4. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <17.28> on input line 9. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 9. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 9. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 9. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 18. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 18. + +File not found: myfigure.png. Ignored due to IgnoreMissingPackages option setti +ng. + +! Package objecttex.def Error: File `myfigure.png' not found: using draft setti +ng. + +See the objecttex.def package documentation for explanation. +Type H for immediate help. + ... + +l.28 \includegraphics[width=3.0in]{myfigure} + +Try typing to proceed. +If that doesn't work, type X to quit. + +[1 + +] [2] +(E:\Github\Aspose.PDF-for-Java\sample-data\convert_pdf_document\input\sample.au +x) ) +Here is how much of TeX's memory you used: + strings out of + string characters out of + words of memory out of + 18747 multiletter control sequences out of + words of font info for 45 fonts, out of for 150 + 14 hyphenation exceptions out of 307 + 57i, 6n, 66p, b, 297s stack positions out of 5000i, 40n, 200p, b, 6000s + +Output written on object model (2 pages). diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.md b/examples/documentation/sample-data/convert_pdf_document/input/sample.md new file mode 100644 index 00000000..288a524e --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.md @@ -0,0 +1,21 @@ +# Adobe Acrobat PDF Files + +Adobe® Portable Document Format (PDF) is a universal file format that preserves all of the fonts, formatting, colors and graphics of any source document, regardless of the application and platform used to create it. +Adobe PDF is an ideal format for electronic document distribution as it overcomes the problems commonly encountered with electronic file sharing. + +* **Anyone anywhere** can open a PDF file. All you need is the free Adobe Acrobat Reader. Recipients of other file formats sometimes can't open files because they don't have the applications used to create the documents. +* PDF files _always print correctly_ on any printing device. +* PDF files _**always**_ display exactly as created, regardless of fonts, software, and operating systems. Fonts, and graphics are not lost due to platform, software, and version incompatibilities. +* The free Acrobat Reader is easy to download and can be freely distributed by anyone. +* Compact PDF files are smaller than their source files and download a page at a time for fast display on the Web. + +| Value 1 | Value 2 | Value 3 | +| --- | --- | --- | +| 1 | 2 | 3 | +| 9 | 9 | 9 | + +| 1111-9999 | 2222-9999 | 3333-9999 | +| --- | --- | --- | +| 1111-9999 | 2222-9999 | 3333-9999 | +| 1111-9999 | 2222-9999 | 3333-9999 | +| 1111-9999 | 2222-9999 | 3333-9999 | diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.mhtml b/examples/documentation/sample-data/convert_pdf_document/input/sample.mhtml new file mode 100644 index 00000000..933f554c --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.mhtml @@ -0,0 +1,181 @@ +From: +Snapshot-Content-Location: file:///C:/Samples/Conversion/sample.html +Subject: This is a test PDF file +Date: Wed, 11 Aug 2021 14:21:56 -0000 +MIME-Version: 1.0 +Content-Type: multipart/related; + type="text/html"; + boundary="----MultipartBoundary--cnyAr9wyd88EoBQKv6k0OJjolAmMRWjFEiRNWU1wC7----" + + +------MultipartBoundary--cnyAr9wyd88EoBQKv6k0OJjolAmMRWjFEiRNWU1wC7---- +Content-Type: text/html +Content-ID: +Content-Transfer-Encoding: quoted-printable +Content-Location: file:///C:/Samples/Conversion/sample.html + +This is a test PDF file

Adobe Acrobat PDF Files

Adobe=C2=AE Portable Document Format (PDF) is a universal file for= +mat that preserves all of the fonts, formatting, colors and graphics of any= + source document, regardless of the application and platform used to create= + it.


Adobe PDF is an i= +deal format for electronic document distribution as it overcomes the proble= +ms commonly encountered with electronic file sharing.


  • Anyone anywhere can open a PDF file. All you need is the free Adobe Acrobat Re= +ader. Recipients of other file formats sometimes can't open files because t= +hey don't have the applications used to create the documents.


  • PDF files al= +ways print correctly on any printing device.


  • PDF files always display e= +xactly as created, regardless of fonts, software, and operating sys= +tems. Fonts, and graphics are not lost due to platform, software, and versi= +on incompatibilities.

  • The free Acrobat Reader is easy to download and can be freely d= +istributed by anyone.

  • Compact PDF files are smaller than their source files and downl= +oad a page at a time for fast display on the Web.


Value 1

Value 2

Val= +ue 3

1

2

3

9

9

9


<= +table style=3D"border-collapse:collapse;margin-left:24.63pt" cellspacing=3D= +"0">

1111-9999

2222-9999

3333-9999

11= +11-9999

2222-9999

3333-9999

1111-9999

2222-9999

3333-9999

1111-9999

2222-9999

3333-9999

+ +------MultipartBoundary--cnyAr9wyd88EoBQKv6k0OJjolAmMRWjFEiRNWU1wC7---- +Content-Type: text/css +Content-Transfer-Encoding: quoted-printable +Content-Location: cid:css-9dafcdd5-534d-43f5-8641-888410218746@mhtml.blink + +@charset "utf-8"; + +* { margin: 0px; padding: 0px; text-indent: 0px; } + +h1 { color: black; font-family: Arial, sans-serif; font-style: normal; font= +-weight: bold; text-decoration: none; font-size: 14pt; } + +.p, p { color: black; font-family: "Times New Roman", serif; font-style: no= +rmal; font-weight: normal; text-decoration: none; font-size: 12pt; margin: = +0pt; } + +h2 { color: black; font-family: "Times New Roman", serif; font-style: itali= +c; font-weight: bold; text-decoration: none; font-size: 12pt; } + +.s1 { color: black; font-family: "Times New Roman", serif; font-style: norm= +al; font-weight: normal; text-decoration: none; font-size: 12pt; } + +li { display: block; } + +#l1 { padding-left: 0pt; } + +#l1 > li > :first-child::before { content: "=E2=80=A2 "; color: black; font= +-family: Arial, sans-serif; font-style: normal; font-weight: normal; text-d= +ecoration: none; font-size: 12pt; } + +table, tbody { vertical-align: top; overflow: visible; } +------MultipartBoundary--cnyAr9wyd88EoBQKv6k0OJjolAmMRWjFEiRNWU1wC7------ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.ofd b/examples/documentation/sample-data/convert_pdf_document/input/sample.ofd new file mode 100644 index 00000000..7d6fc6fe Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.ofd differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.oxps b/examples/documentation/sample-data/convert_pdf_document/input/sample.oxps new file mode 100644 index 00000000..5461b514 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.oxps differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.pdf b/examples/documentation/sample-data/convert_pdf_document/input/sample.pdf new file mode 100644 index 00000000..9ce02278 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.pdf differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.png b/examples/documentation/sample-data/convert_pdf_document/input/sample.png new file mode 100644 index 00000000..edcec6cd Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.png differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.ps b/examples/documentation/sample-data/convert_pdf_document/input/sample.ps new file mode 100644 index 00000000..f62e965a Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.ps differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.svg b/examples/documentation/sample-data/convert_pdf_document/input/sample.svg new file mode 100644 index 00000000..9bde1850 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.tex b/examples/documentation/sample-data/convert_pdf_document/input/sample.tex new file mode 100644 index 00000000..127522b7 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.tex @@ -0,0 +1,36 @@ +\documentclass{article} +\usepackage{graphicx} + +\begin{document} + +\title{Introduction to \LaTeX{}} +\author{Author's Name} + +\maketitle + +\begin{abstract} +The abstract text goes here. +\end{abstract} + +\section{Introduction} +Here is the text of your introduction. + +\begin{equation} + \label{simple_equation} + \alpha = \sqrt{ \beta } +\end{equation} + +\subsection{Subsection Heading Here} +Write your subsection text here. + +\begin{figure} + \centering + \includegraphics[width=3.0in]{myfigure} + \caption{Simulation Results} + \label{simulationfigure} +\end{figure} + +\section{Conclusion} +Write your conclusion here. + +\end{document} \ No newline at end of file diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.tiff b/examples/documentation/sample-data/convert_pdf_document/input/sample.tiff new file mode 100644 index 00000000..74e7ebef Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample.tiff differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.txt b/examples/documentation/sample-data/convert_pdf_document/input/sample.txt new file mode 100644 index 00000000..35b09a3c --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.txt @@ -0,0 +1,2901 @@ + + + + + + + RFC # 822 + + Obsoletes: RFC #733 (NIC #41952) + + + + + + + + + + + + + STANDARD FOR THE FORMAT OF + + ARPA INTERNET TEXT MESSAGES + + + + + + + August 13, 1982 + + + + + + + Revised by + + David H. Crocker + + + Dept. of Electrical Engineering + University of Delaware, Newark, DE 19711 + Network: DCrocker @ UDel-Relay + + + + + + + + + + + + + + + + Standard for ARPA Internet Text Messages + + + TABLE OF CONTENTS + + + PREFACE .................................................... ii + + 1. INTRODUCTION ........................................... 1 + + 1.1. Scope ............................................ 1 + 1.2. Communication Framework .......................... 2 + + 2. NOTATIONAL CONVENTIONS ................................. 3 + + 3. LEXICAL ANALYSIS OF MESSAGES ........................... 5 + + 3.1. General Description .............................. 5 + 3.2. Header Field Definitions ......................... 9 + 3.3. Lexical Tokens ................................... 10 + 3.4. Clarifications ................................... 11 + + 4. MESSAGE SPECIFICATION .................................. 17 + + 4.1. Syntax ........................................... 17 + 4.2. Forwarding ....................................... 19 + 4.3. Trace Fields ..................................... 20 + 4.4. Originator Fields ................................ 21 + 4.5. Receiver Fields .................................. 23 + 4.6. Reference Fields ................................. 23 + 4.7. Other Fields ..................................... 24 + + 5. DATE AND TIME SPECIFICATION ............................ 26 + + 5.1. Syntax ........................................... 26 + 5.2. Semantics ........................................ 26 + + 6. ADDRESS SPECIFICATION .................................. 27 + + 6.1. Syntax ........................................... 27 + 6.2. Semantics ........................................ 27 + 6.3. Reserved Address ................................. 33 + + 7. BIBLIOGRAPHY ........................................... 34 + + + APPENDIX + + A. EXAMPLES ............................................... 36 + B. SIMPLE FIELD PARSING ................................... 40 + C. DIFFERENCES FROM RFC #733 .............................. 41 + D. ALPHABETICAL LISTING OF SYNTAX RULES ................... 44 + + + August 13, 1982 - i - RFC #822 + + + + + Standard for ARPA Internet Text Messages + + + PREFACE + + + By 1977, the Arpanet employed several informal standards for + the text messages (mail) sent among its host computers. It was + felt necessary to codify these practices and provide for those + features that seemed imminent. The result of that effort was + Request for Comments (RFC) #733, "Standard for the Format of ARPA + Network Text Message", by Crocker, Vittal, Pogran, and Henderson. + The specification attempted to avoid major changes in existing + software, while permitting several new features. + + This document revises the specifications in RFC #733, in + order to serve the needs of the larger and more complex ARPA + Internet. Some of RFC #733's features failed to gain adequate + acceptance. In order to simplify the standard and the software + that follows it, these features have been removed. A different + addressing scheme is used, to handle the case of inter-network + mail; and the concept of re-transmission has been introduced. + + This specification is intended for use in the ARPA Internet. + However, an attempt has been made to free it of any dependence on + that environment, so that it can be applied to other network text + message systems. + + The specification of RFC #733 took place over the course of + one year, using the ARPANET mail environment, itself, to provide + an on-going forum for discussing the capabilities to be included. + More than twenty individuals, from across the country, partici- + pated in the original discussion. The development of this + revised specification has, similarly, utilized network mail-based + group discussion. Both specification efforts greatly benefited + from the comments and ideas of the participants. + + The syntax of the standard, in RFC #733, was originally + specified in the Backus-Naur Form (BNF) meta-language. Ken L. + Harrenstien, of SRI International, was responsible for re-coding + the BNF into an augmented BNF that makes the representation + smaller and easier to understand. + + + + + + + + + + + + + August 13, 1982 - ii - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 1. INTRODUCTION + + 1.1. SCOPE + + This standard specifies a syntax for text messages that are + sent among computer users, within the framework of "electronic + mail". The standard supersedes the one specified in ARPANET + Request for Comments #733, "Standard for the Format of ARPA Net- + work Text Messages". + + In this context, messages are viewed as having an envelope + and contents. The envelope contains whatever information is + needed to accomplish transmission and delivery. The contents + compose the object to be delivered to the recipient. This stan- + dard applies only to the format and some of the semantics of mes- + sage contents. It contains no specification of the information + in the envelope. + + However, some message systems may use information from the + contents to create the envelope. It is intended that this stan- + dard facilitate the acquisition of such information by programs. + + Some message systems may store messages in formats that + differ from the one specified in this standard. This specifica- + tion is intended strictly as a definition of what message content + format is to be passed BETWEEN hosts. + + Note: This standard is NOT intended to dictate the internal for- + mats used by sites, the specific message system features + that they are expected to support, or any of the charac- + teristics of user interface programs that create or read + messages. + + A distinction should be made between what the specification + REQUIRES and what it ALLOWS. Messages can be made complex and + rich with formally-structured components of information or can be + kept small and simple, with a minimum of such information. Also, + the standard simplifies the interpretation of differing visual + formats in messages; only the visual aspect of a message is + affected and not the interpretation of information within it. + Implementors may choose to retain such visual distinctions. + + The formal definition is divided into four levels. The bot- + tom level describes the meta-notation used in this document. The + second level describes basic lexical analyzers that feed tokens + to higher-level parsers. Next is an overall specification for + messages; it permits distinguishing individual fields. Finally, + there is definition of the contents of several structured fields. + + + + August 13, 1982 - 1 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 1.2. COMMUNICATION FRAMEWORK + + Messages consist of lines of text. No special provisions + are made for encoding drawings, facsimile, speech, or structured + text. No significant consideration has been given to questions + of data compression or to transmission and storage efficiency, + and the standard tends to be free with the number of bits con- + sumed. For example, field names are specified as free text, + rather than special terse codes. + + A general "memo" framework is used. That is, a message con- + sists of some information in a rigid format, followed by the main + part of the message, with a format that is not specified in this + document. The syntax of several fields of the rigidly-formated + ("headers") section is defined in this specification; some of + these fields must be included in all messages. + + The syntax that distinguishes between header fields is + specified separately from the internal syntax for particular + fields. This separation is intended to allow simple parsers to + operate on the general structure of messages, without concern for + the detailed structure of individual header fields. Appendix B + is provided to facilitate construction of these parsers. + + In addition to the fields specified in this document, it is + expected that other fields will gain common use. As necessary, + the specifications for these "extension-fields" will be published + through the same mechanism used to publish this document. Users + may also wish to extend the set of fields that they use + privately. Such "user-defined fields" are permitted. + + The framework severely constrains document tone and appear- + ance and is primarily useful for most intra-organization communi- + cations and well-structured inter-organization communication. + It also can be used for some types of inter-process communica- + tion, such as simple file transfer and remote job entry. A more + robust framework might allow for multi-font, multi-color, multi- + dimension encoding of information. A less robust one, as is + present in most single-machine message systems, would more + severely constrain the ability to add fields and the decision to + include specific fields. In contrast with paper-based communica- + tion, it is interesting to note that the RECEIVER of a message + can exercise an extraordinary amount of control over the + message's appearance. The amount of actual control available to + message receivers is contingent upon the capabilities of their + individual message systems. + + + + + + August 13, 1982 - 2 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 2. NOTATIONAL CONVENTIONS + + This specification uses an augmented Backus-Naur Form (BNF) + notation. The differences from standard BNF involve naming rules + and indicating repetition and "local" alternatives. + + 2.1. RULE NAMING + + Angle brackets ("<", ">") are not used, in general. The + name of a rule is simply the name itself, rather than "". + Quotation-marks enclose literal text (which may be upper and/or + lower case). Certain basic rules are in uppercase, such as + SPACE, TAB, CRLF, DIGIT, ALPHA, etc. Angle brackets are used in + rule definitions, and in the rest of this document, whenever + their presence will facilitate discerning the use of rule names. + + 2.2. RULE1 / RULE2: ALTERNATIVES + + Elements separated by slash ("/") are alternatives. There- + fore "foo / bar" will accept foo or bar. + + 2.3. (RULE1 RULE2): LOCAL ALTERNATIVES + + Elements enclosed in parentheses are treated as a single + element. Thus, "(elem (foo / bar) elem)" allows the token + sequences "elem foo elem" and "elem bar elem". + + 2.4. *RULE: REPETITION + + The character "*" preceding an element indicates repetition. + The full form is: + + *element + + indicating at least and at most occurrences of element. + Default values are 0 and infinity so that "*(element)" allows any + number, including zero; "1*element" requires at least one; and + "1*2element" allows one or two. + + 2.5. [RULE]: OPTIONAL + + Square brackets enclose optional elements; "[foo bar]" is + equivalent to "*1(foo bar)". + + 2.6. NRULE: SPECIFIC REPETITION + + "(element)" is equivalent to "*(element)"; that is, + exactly occurrences of (element). Thus 2DIGIT is a 2-digit + number, and 3ALPHA is a string of three alphabetic characters. + + + August 13, 1982 - 3 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 2.7. #RULE: LISTS + + A construct "#" is defined, similar to "*", as follows: + + #element + + indicating at least and at most elements, each separated + by one or more commas (","). This makes the usual form of lists + very easy; a rule such as '(element *("," element))' can be shown + as "1#element". Wherever this construct is used, null elements + are allowed, but do not contribute to the count of elements + present. That is, "(element),,(element)" is permitted, but + counts as only two elements. Therefore, where at least one ele- + ment is required, at least one non-null element must be present. + Default values are 0 and infinity so that "#(element)" allows any + number, including zero; "1#element" requires at least one; and + "1#2element" allows one or two. + + 2.8. ; COMMENTS + + A semi-colon, set off some distance to the right of rule + text, starts a comment that continues to the end of line. This + is a simple way of including useful notes in parallel with the + specifications. + + + + + + + + + + + + + + + + + + + + + + + + + + + + August 13, 1982 - 4 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 3. LEXICAL ANALYSIS OF MESSAGES + + 3.1. GENERAL DESCRIPTION + + A message consists of header fields and, optionally, a body. + The body is simply a sequence of lines containing ASCII charac- + ters. It is separated from the headers by a null line (i.e., a + line with nothing preceding the CRLF). + + 3.1.1. LONG HEADER FIELDS + + Each header field can be viewed as a single, logical line of + ASCII characters, comprising a field-name and a field-body. + For convenience, the field-body portion of this conceptual + entity can be split into a multiple-line representation; this + is called "folding". The general rule is that wherever there + may be linear-white-space (NOT simply LWSP-chars), a CRLF + immediately followed by AT LEAST one LWSP-char may instead be + inserted. Thus, the single line + + To: "Joe & J. Harvey" , JJV @ BBN + + can be represented as: + + To: "Joe & J. Harvey" , + JJV@BBN + + and + + To: "Joe & J. Harvey" + , JJV + @BBN + + and + + To: "Joe & + J. Harvey" , JJV @ BBN + + The process of moving from this folded multiple-line + representation of a header field to its single line represen- + tation is called "unfolding". Unfolding is accomplished by + regarding CRLF immediately followed by a LWSP-char as + equivalent to the LWSP-char. + + Note: While the standard permits folding wherever linear- + white-space is permitted, it is recommended that struc- + tured fields, such as those containing addresses, limit + folding to higher-level syntactic breaks. For address + fields, it is recommended that such folding occur + + + August 13, 1982 - 5 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + between addresses, after the separating comma. + + 3.1.2. STRUCTURE OF HEADER FIELDS + + Once a field has been unfolded, it may be viewed as being com- + posed of a field-name followed by a colon (":"), followed by a + field-body, and terminated by a carriage-return/line-feed. + The field-name must be composed of printable ASCII characters + (i.e., characters that have values between 33. and 126., + decimal, except colon). The field-body may be composed of any + ASCII characters, except CR or LF. (While CR and/or LF may be + present in the actual text, they are removed by the action of + unfolding the field.) + + Certain field-bodies of headers may be interpreted according + to an internal syntax that some systems may wish to parse. + These fields are called "structured fields". Examples + include fields containing dates and addresses. Other fields, + such as "Subject" and "Comments", are regarded simply as + strings of text. + + Note: Any field which has a field-body that is defined as + other than simply is to be treated as a struc- + tured field. + + Field-names, unstructured field bodies and structured + field bodies each are scanned by their own, independent + "lexical" analyzers. + + 3.1.3. UNSTRUCTURED FIELD BODIES + + For some fields, such as "Subject" and "Comments", no struc- + turing is assumed, and they are treated simply as s, as + in the message body. Rules of folding apply to these fields, + so that such field bodies which occupy several lines must + therefore have the second and successive lines indented by at + least one LWSP-char. + + 3.1.4. STRUCTURED FIELD BODIES + + To aid in the creation and reading of structured fields, the + free insertion of linear-white-space (which permits folding + by inclusion of CRLFs) is allowed between lexical tokens. + Rather than obscuring the syntax specifications for these + structured fields with explicit syntax for this linear-white- + space, the existence of another "lexical" analyzer is assumed. + This analyzer does not apply for unstructured field bodies + that are simply strings of text, as described above. The + analyzer provides an interpretation of the unfolded text + + + August 13, 1982 - 6 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + composing the body of the field as a sequence of lexical sym- + bols. + + These symbols are: + + - individual special characters + - quoted-strings + - domain-literals + - comments + - atoms + + The first four of these symbols are self-delimiting. Atoms + are not; they are delimited by the self-delimiting symbols and + by linear-white-space. For the purposes of regenerating + sequences of atoms and quoted-strings, exactly one SPACE is + assumed to exist, and should be used, between them. (Also, in + the "Clarifications" section on "White Space", below, note the + rules about treatment of multiple contiguous LWSP-chars.) + + So, for example, the folded body of an address field + + ":sysmail"@ Some-Group. Some-Org, + Muhammed.(I am the greatest) Ali @(the)Vegas.WBA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + August 13, 1982 - 7 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + is analyzed into the following lexical symbols and types: + + :sysmail quoted string + @ special + Some-Group atom + . special + Some-Org atom + , special + Muhammed atom + . special + (I am the greatest) comment + Ali atom + @ atom + (the) comment + Vegas atom + . special + WBA atom + + The canonical representations for the data in these addresses + are the following strings: + + ":sysmail"@Some-Group.Some-Org + + and + + Muhammed.Ali@Vegas.WBA + + Note: For purposes of display, and when passing such struc- + tured information to other systems, such as mail proto- + col services, there must be NO linear-white-space + between s that are separated by period (".") or + at-sign ("@") and exactly one SPACE between all other + s. Also, headers should be in a folded form. + + + + + + + + + + + + + + + + + + + August 13, 1982 - 8 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 3.2. HEADER FIELD DEFINITIONS + + These rules show a field meta-syntax, without regard for the + particular type or internal syntax. Their purpose is to permit + detection of fields; also, they present to higher-level parsers + an image of each field as fitting on one line. + + field = field-name ":" [ field-body ] CRLF + + field-name = 1* + + field-body = field-body-contents + [CRLF LWSP-char field-body] + + field-body-contents = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + August 13, 1982 - 9 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 3.3. LEXICAL TOKENS + + The following rules are used to define an underlying lexical + analyzer, which feeds tokens to higher level parsers. See the + ANSI references, in the Bibliography. + + ; ( Octal, Decimal.) + CHAR = ; ( 0-177, 0.-127.) + ALPHA = + ; (101-132, 65.- 90.) + ; (141-172, 97.-122.) + DIGIT = ; ( 60- 71, 48.- 57.) + CTL = ; ( 177, 127.) + CR = ; ( 15, 13.) + LF = ; ( 12, 10.) + SPACE = ; ( 40, 32.) + HTAB = ; ( 11, 9.) + <"> = ; ( 42, 34.) + CRLF = CR LF + + LWSP-char = SPACE / HTAB ; semantics = SPACE + + linear-white-space = 1*([CRLF] LWSP-char) ; semantics = SPACE + ; CRLF => folding + + specials = "(" / ")" / "<" / ">" / "@" ; Must be in quoted- + / "," / ";" / ":" / "\" / <"> ; string, to use + / "." / "[" / "]" ; within a word. + + delimiters = specials / linear-white-space / comment + + text = atoms, specials, + CR & bare LF, but NOT ; comments and + including CRLF> ; quoted-strings are + ; NOT recognized. + + atom = 1* + + quoted-string = <"> *(qtext/quoted-pair) <">; Regular qtext or + ; quoted chars. + + qtext = , ; => may be folded + "\" & CR, and including + linear-white-space> + + domain-literal = "[" *(dtext / quoted-pair) "]" + + + + + August 13, 1982 - 10 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + dtext = may be folded + "]", "\" & CR, & including + linear-white-space> + + comment = "(" *(ctext / quoted-pair / comment) ")" + + ctext = may be folded + ")", "\" & CR, & including + linear-white-space> + + quoted-pair = "\" CHAR ; may quote any char + + phrase = 1*word ; Sequence of words + + word = atom / quoted-string + + + 3.4. CLARIFICATIONS + + 3.4.1. QUOTING + + Some characters are reserved for special interpretation, such + as delimiting lexical tokens. To permit use of these charac- + ters as uninterpreted data, a quoting mechanism is provided. + To quote a character, precede it with a backslash ("\"). + + This mechanism is not fully general. Characters may be quoted + only within a subset of the lexical constructs. In particu- + lar, quoting is limited to use within: + + - quoted-string + - domain-literal + - comment + + Within these constructs, quoting is REQUIRED for CR and "\" + and for the character(s) that delimit the token (e.g., "(" and + ")" for a comment). However, quoting is PERMITTED for any + character. + + Note: In particular, quoting is NOT permitted within atoms. + For example when the local-part of an addr-spec must + contain a special character, a quoted string must be + used. Therefore, a specification such as: + + Full\ Name@Domain + + is not legal and must be specified as: + + "Full Name"@Domain + + + August 13, 1982 - 11 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 3.4.2. WHITE SPACE + + Note: In structured field bodies, multiple linear space ASCII + characters (namely HTABs and SPACEs) are treated as + single spaces and may freely surround any symbol. In + all header fields, the only place in which at least one + LWSP-char is REQUIRED is at the beginning of continua- + tion lines in a folded field. + + When passing text to processes that do not interpret text + according to this standard (e.g., mail protocol servers), then + NO linear-white-space characters should occur between a period + (".") or at-sign ("@") and a . Exactly ONE SPACE should + be used in place of arbitrary linear-white-space and comment + sequences. + + Note: Within systems conforming to this standard, wherever a + member of the list of delimiters is allowed, LWSP-chars + may also occur before and/or after it. + + Writers of mail-sending (i.e., header-generating) programs + should realize that there is no network-wide definition of the + effect of ASCII HT (horizontal-tab) characters on the appear- + ance of text at another network host; therefore, the use of + tabs in message headers, though permitted, is discouraged. + + 3.4.3. COMMENTS + + A comment is a set of ASCII characters, which is enclosed in + matching parentheses and which is not within a quoted-string + The comment construct permits message originators to add text + which will be useful for human readers, but which will be + ignored by the formal semantics. Comments should be retained + while the message is subject to interpretation according to + this standard. However, comments must NOT be included in + other cases, such as during protocol exchanges with mail + servers. + + Comments nest, so that if an unquoted left parenthesis occurs + in a comment string, there must also be a matching right + parenthesis. When a comment acts as the delimiter between a + sequence of two lexical symbols, such as two atoms, it is lex- + ically equivalent with a single SPACE, for the purposes of + regenerating the sequence, such as when passing the sequence + onto a mail protocol server. Comments are detected as such + only within field-bodies of structured fields. + + If a comment is to be "folded" onto multiple lines, then the + syntax for folding must be adhered to. (See the "Lexical + + + August 13, 1982 - 12 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + Analysis of Messages" section on "Folding Long Header Fields" + above, and the section on "Case Independence" below.) Note + that the official semantics therefore do not "see" any + unquoted CRLFs that are in comments, although particular pars- + ing programs may wish to note their presence. For these pro- + grams, it would be reasonable to interpret a "CRLF LWSP-char" + as being a CRLF that is part of the comment; i.e., the CRLF is + kept and the LWSP-char is discarded. Quoted CRLFs (i.e., a + backslash followed by a CR followed by a LF) still must be + followed by at least one LWSP-char. + + 3.4.4. DELIMITING AND QUOTING CHARACTERS + + The quote character (backslash) and characters that delimit + syntactic units are not, generally, to be taken as data that + are part of the delimited or quoted unit(s). In particular, + the quotation-marks that define a quoted-string, the + parentheses that define a comment and the backslash that + quotes a following character are NOT part of the quoted- + string, comment or quoted character. A quotation-mark that is + to be part of a quoted-string, a parenthesis that is to be + part of a comment and a backslash that is to be part of either + must each be preceded by the quote-character backslash ("\"). + Note that the syntax allows any character to be quoted within + a quoted-string or comment; however only certain characters + MUST be quoted to be included as data. These characters are + the ones that are not part of the alternate text group (i.e., + ctext or qtext). + + The one exception to this rule is that a single SPACE is + assumed to exist between contiguous words in a phrase, and + this interpretation is independent of the actual number of + LWSP-chars that the creator places between the words. To + include more than one SPACE, the creator must make the LWSP- + chars be part of a quoted-string. + + Quotation marks that delimit a quoted string and backslashes + that quote the following character should NOT accompany the + quoted-string when the string is passed to processes that do + not interpret data according to this specification (e.g., mail + protocol servers). + + 3.4.5. QUOTED-STRINGS + + Where permitted (i.e., in words in structured fields) quoted- + strings are treated as a single symbol. That is, a quoted- + string is equivalent to an atom, syntactically. If a quoted- + string is to be "folded" onto multiple lines, then the syntax + for folding must be adhered to. (See the "Lexical Analysis of + + + August 13, 1982 - 13 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + Messages" section on "Folding Long Header Fields" above, and + the section on "Case Independence" below.) Therefore, the + official semantics do not "see" any bare CRLFs that are in + quoted-strings; however particular parsing programs may wish + to note their presence. For such programs, it would be rea- + sonable to interpret a "CRLF LWSP-char" as being a CRLF which + is part of the quoted-string; i.e., the CRLF is kept and the + LWSP-char is discarded. Quoted CRLFs (i.e., a backslash fol- + lowed by a CR followed by a LF) are also subject to rules of + folding, but the presence of the quoting character (backslash) + explicitly indicates that the CRLF is data to the quoted + string. Stripping off the first following LWSP-char is also + appropriate when parsing quoted CRLFs. + + 3.4.6. BRACKETING CHARACTERS + + There is one type of bracket which must occur in matched pairs + and may have pairs nested within each other: + + o Parentheses ("(" and ")") are used to indicate com- + ments. + + There are three types of brackets which must occur in matched + pairs, and which may NOT be nested: + + o Colon/semi-colon (":" and ";") are used in address + specifications to indicate that the included list of + addresses are to be treated as a group. + + o Angle brackets ("<" and ">") are generally used to + indicate the presence of a one machine-usable refer- + ence (e.g., delimiting mailboxes), possibly including + source-routing to the machine. + + o Square brackets ("[" and "]") are used to indicate the + presence of a domain-literal, which the appropriate + name-domain is to use directly, bypassing normal + name-resolution mechanisms. + + 3.4.7. CASE INDEPENDENCE + + Except as noted, alphabetic strings may be represented in any + combination of upper and lower case. The only syntactic units + + + + + + + + + August 13, 1982 - 14 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + which requires preservation of case information are: + + - text + - qtext + - dtext + - ctext + - quoted-pair + - local-part, except "Postmaster" + + When matching any other syntactic unit, case is to be ignored. + For example, the field-names "From", "FROM", "from", and even + "FroM" are semantically equal and should all be treated ident- + ically. + + When generating these units, any mix of upper and lower case + alphabetic characters may be used. The case shown in this + specification is suggested for message-creating processes. + + Note: The reserved local-part address unit, "Postmaster", is + an exception. When the value "Postmaster" is being + interpreted, it must be accepted in any mixture of + case, including "POSTMASTER", and "postmaster". + + 3.4.8. FOLDING LONG HEADER FIELDS + + Each header field may be represented on exactly one line con- + sisting of the name of the field and its body, and terminated + by a CRLF; this is what the parser sees. For readability, the + field-body portion of long header fields may be "folded" onto + multiple lines of the actual field. "Long" is commonly inter- + preted to mean greater than 65 or 72 characters. The former + length serves as a limit, when the message is to be viewed on + most simple terminals which use simple display software; how- + ever, the limit is not imposed by this standard. + + Note: Some display software often can selectively fold lines, + to suit the display terminal. In such cases, sender- + provided folding can interfere with the display + software. + + 3.4.9. BACKSPACE CHARACTERS + + ASCII BS characters (Backspace, decimal 8) may be included in + texts and quoted-strings to effect overstriking. However, any + use of backspaces which effects an overstrike to the left of + the beginning of the text or quoted-string is prohibited. + + + + + + August 13, 1982 - 15 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 3.4.10. NETWORK-SPECIFIC TRANSFORMATIONS + + During transmission through heterogeneous networks, it may be + necessary to force data to conform to a network's local con- + ventions. For example, it may be required that a CR be fol- + lowed either by LF, making a CRLF, or by , if the CR is + to stand alone). Such transformations are reversed, when the + message exits that network. + + When crossing network boundaries, the message should be + treated as passing through two modules. It will enter the + first module containing whatever network-specific transforma- + tions that were necessary to permit migration through the + "current" network. It then passes through the modules: + + o Transformation Reversal + + The "current" network's idiosyncracies are removed and + the message is returned to the canonical form speci- + fied in this standard. + + o Transformation + + The "next" network's local idiosyncracies are imposed + on the message. + + ------------------ + From ==> | Remove Net-A | + Net-A | idiosyncracies | + ------------------ + || + \/ + Conformance + with standard + || + \/ + ------------------ + | Impose Net-B | ==> To + | idiosyncracies | Net-B + ------------------ + + + + + + + + + + + + August 13, 1982 - 16 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 4. MESSAGE SPECIFICATION + + 4.1. SYNTAX + + Note: Due to an artifact of the notational conventions, the syn- + tax indicates that, when present, some fields, must be in + a particular order. Header fields are NOT required to + occur in any particular order, except that the message + body must occur AFTER the headers. It is recommended + that, if present, headers be sent in the order "Return- + Path", "Received", "Date", "From", "Subject", "Sender", + "To", "cc", etc. + + This specification permits multiple occurrences of most + fields. Except as noted, their interpretation is not + specified here, and their use is discouraged. + + The following syntax for the bodies of various fields should + be thought of as describing each field body as a single long + string (or line). The "Lexical Analysis of Message" section on + "Long Header Fields", above, indicates how such long strings can + be represented on more than one line in the actual transmitted + message. + + message = fields *( CRLF *text ) ; Everything after + ; first null line + ; is message body + + fields = dates ; Creation time, + source ; author id & one + 1*destination ; address required + *optional-field ; others optional + + source = [ trace ] ; net traversals + originator ; original mail + [ resent ] ; forwarded + + trace = return ; path to sender + 1*received ; receipt tags + + return = "Return-path" ":" route-addr ; return address + + received = "Received" ":" ; one per relay + ["from" domain] ; sending host + ["by" domain] ; receiving host + ["via" atom] ; physical path + *("with" atom) ; link/mail protocol + ["id" msg-id] ; receiver msg id + ["for" addr-spec] ; initial form + + + August 13, 1982 - 17 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + ";" date-time ; time received + + originator = authentic ; authenticated addr + [ "Reply-To" ":" 1#address] ) + + authentic = "From" ":" mailbox ; Single author + / ( "Sender" ":" mailbox ; Actual submittor + "From" ":" 1#mailbox) ; Multiple authors + ; or not sender + + resent = resent-authentic + [ "Resent-Reply-To" ":" 1#address] ) + + resent-authentic = + = "Resent-From" ":" mailbox + / ( "Resent-Sender" ":" mailbox + "Resent-From" ":" 1#mailbox ) + + dates = orig-date ; Original + [ resent-date ] ; Forwarded + + orig-date = "Date" ":" date-time + + resent-date = "Resent-Date" ":" date-time + + destination = "To" ":" 1#address ; Primary + / "Resent-To" ":" 1#address + / "cc" ":" 1#address ; Secondary + / "Resent-cc" ":" 1#address + / "bcc" ":" #address ; Blind carbon + / "Resent-bcc" ":" #address + + optional-field = + / "Message-ID" ":" msg-id + / "Resent-Message-ID" ":" msg-id + / "In-Reply-To" ":" *(phrase / msg-id) + / "References" ":" *(phrase / msg-id) + / "Keywords" ":" #phrase + / "Subject" ":" *text + / "Comments" ":" *text + / "Encrypted" ":" 1#2word + / extension-field ; To be defined + / user-defined-field ; May be pre-empted + + msg-id = "<" addr-spec ">" ; Unique message id + + + + + + + August 13, 1982 - 18 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + extension-field = + + + user-defined-field = + + + 4.2. FORWARDING + + Some systems permit mail recipients to forward a message, + retaining the original headers, by adding some new fields. This + standard supports such a service, through the "Resent-" prefix to + field names. + + Whenever the string "Resent-" begins a field name, the field + has the same semantics as a field whose name does not have the + prefix. However, the message is assumed to have been forwarded + by an original recipient who attached the "Resent-" field. This + new field is treated as being more recent than the equivalent, + original field. For example, the "Resent-From", indicates the + person that forwarded the message, whereas the "From" field indi- + cates the original author. + + Use of such precedence information depends upon partici- + pants' communication needs. For example, this standard does not + dictate when a "Resent-From:" address should receive replies, in + lieu of sending them to the "From:" address. + + Note: In general, the "Resent-" fields should be treated as con- + taining a set of information that is independent of the + set of original fields. Information for one set should + not automatically be taken from the other. The interpre- + tation of multiple "Resent-" fields, of the same type, is + undefined. + + In the remainder of this specification, occurrence of legal + "Resent-" fields are treated identically with the occurrence of + + + + + + + + + August 13, 1982 - 19 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + fields whose names do not contain this prefix. + + 4.3. TRACE FIELDS + + Trace information is used to provide an audit trail of mes- + sage handling. In addition, it indicates a route back to the + sender of the message. + + The list of known "via" and "with" values are registered + with the Network Information Center, SRI International, Menlo + Park, California. + + 4.3.1. RETURN-PATH + + This field is added by the final transport system that + delivers the message to its recipient. The field is intended + to contain definitive information about the address and route + back to the message's originator. + + Note: The "Reply-To" field is added by the originator and + serves to direct replies, whereas the "Return-Path" + field is used to identify a path back to the origina- + tor. + + While the syntax indicates that a route specification is + optional, every attempt should be made to provide that infor- + mation in this field. + + 4.3.2. RECEIVED + + A copy of this field is added by each transport service that + relays the message. The information in the field can be quite + useful for tracing transport problems. + + The names of the sending and receiving hosts and time-of- + receipt may be specified. The "via" parameter may be used, to + indicate what physical mechanism the message was sent over, + such as Arpanet or Phonenet, and the "with" parameter may be + used to indicate the mail-, or connection-, level protocol + that was used, such as the SMTP mail protocol, or X.25 tran- + sport protocol. + + Note: Several "with" parameters may be included, to fully + specify the set of protocols that were used. + + Some transport services queue mail; the internal message iden- + tifier that is assigned to the message may be noted, using the + "id" parameter. When the sending host uses a destination + address specification that the receiving host reinterprets, by + + + August 13, 1982 - 20 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + expansion or transformation, the receiving host may wish to + record the original specification, using the "for" parameter. + For example, when a copy of mail is sent to the member of a + distribution list, this parameter may be used to record the + original address that was used to specify the list. + + 4.4. ORIGINATOR FIELDS + + The standard allows only a subset of the combinations possi- + ble with the From, Sender, Reply-To, Resent-From, Resent-Sender, + and Resent-Reply-To fields. The limitation is intentional. + + 4.4.1. FROM / RESENT-FROM + + This field contains the identity of the person(s) who wished + this message to be sent. The message-creation process should + default this field to be a single, authenticated machine + address, indicating the AGENT (person, system or process) + entering the message. If this is not done, the "Sender" field + MUST be present. If the "From" field IS defaulted this way, + the "Sender" field is optional and is redundant with the + "From" field. In all cases, addresses in the "From" field + must be machine-usable (addr-specs) and may not contain named + lists (groups). + + 4.4.2. SENDER / RESENT-SENDER + + This field contains the authenticated identity of the AGENT + (person, system or process) that sends the message. It is + intended for use when the sender is not the author of the mes- + sage, or to indicate who among a group of authors actually + sent the message. If the contents of the "Sender" field would + be completely redundant with the "From" field, then the + "Sender" field need not be present and its use is discouraged + (though still legal). In particular, the "Sender" field MUST + be present if it is NOT the same as the "From" Field. + + The Sender mailbox specification includes a word sequence + which must correspond to a specific agent (i.e., a human user + or a computer program) rather than a standard address. This + indicates the expectation that the field will identify the + single AGENT (person, system, or process) responsible for + sending the mail and not simply include the name of a mailbox + from which the mail was sent. For example in the case of a + shared login name, the name, by itself, would not be adequate. + The local-part address unit, which refers to this agent, is + expected to be a computer system term, and not (for example) a + generalized person reference which can be used outside the + network text message context. + + + August 13, 1982 - 21 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + Since the critical function served by the "Sender" field is + identification of the agent responsible for sending mail and + since computer programs cannot be held accountable for their + behavior, it is strongly recommended that when a computer pro- + gram generates a message, the HUMAN who is responsible for + that program be referenced as part of the "Sender" field mail- + box specification. + + 4.4.3. REPLY-TO / RESENT-REPLY-TO + + This field provides a general mechanism for indicating any + mailbox(es) to which responses are to be sent. Three typical + uses for this feature can be distinguished. In the first + case, the author(s) may not have regular machine-based mail- + boxes and therefore wish(es) to indicate an alternate machine + address. In the second case, an author may wish additional + persons to be made aware of, or responsible for, replies. A + somewhat different use may be of some help to "text message + teleconferencing" groups equipped with automatic distribution + services: include the address of that service in the "Reply- + To" field of all messages submitted to the teleconference; + then participants can "reply" to conference submissions to + guarantee the correct distribution of any submission of their + own. + + Note: The "Return-Path" field is added by the mail transport + service, at the time of final deliver. It is intended + to identify a path back to the orginator of the mes- + sage. The "Reply-To" field is added by the message + originator and is intended to direct replies. + + 4.4.4. AUTOMATIC USE OF FROM / SENDER / REPLY-TO + + For systems which automatically generate address lists for + replies to messages, the following recommendations are made: + + o The "Sender" field mailbox should be sent notices of + any problems in transport or delivery of the original + messages. If there is no "Sender" field, then the + "From" field mailbox should be used. + + o The "Sender" field mailbox should NEVER be used + automatically, in a recipient's reply message. + + o If the "Reply-To" field exists, then the reply should + go to the addresses indicated in that field and not to + the address(es) indicated in the "From" field. + + + + + August 13, 1982 - 22 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + o If there is a "From" field, but no "Reply-To" field, + the reply should be sent to the address(es) indicated + in the "From" field. + + Sometimes, a recipient may actually wish to communicate with + the person that initiated the message transfer. In such + cases, it is reasonable to use the "Sender" address. + + This recommendation is intended only for automated use of + originator-fields and is not intended to suggest that replies + may not also be sent to other recipients of messages. It is + up to the respective mail-handling programs to decide what + additional facilities will be provided. + + Examples are provided in Appendix A. + + 4.5. RECEIVER FIELDS + + 4.5.1. TO / RESENT-TO + + This field contains the identity of the primary recipients of + the message. + + 4.5.2. CC / RESENT-CC + + This field contains the identity of the secondary (informa- + tional) recipients of the message. + + 4.5.3. BCC / RESENT-BCC + + This field contains the identity of additional recipients of + the message. The contents of this field are not included in + copies of the message sent to the primary and secondary reci- + pients. Some systems may choose to include the text of the + "Bcc" field only in the author(s)'s copy, while others may + also include it in the text sent to all those indicated in the + "Bcc" list. + + 4.6. REFERENCE FIELDS + + 4.6.1. MESSAGE-ID / RESENT-MESSAGE-ID + + This field contains a unique identifier (the local-part + address unit) which refers to THIS version of THIS message. + The uniqueness of the message identifier is guaranteed by the + host which generates it. This identifier is intended to be + machine readable and not necessarily meaningful to humans. A + message identifier pertains to exactly one instantiation of a + particular message; subsequent revisions to the message should + + + August 13, 1982 - 23 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + each receive new message identifiers. + + 4.6.2. IN-REPLY-TO + + The contents of this field identify previous correspon- + dence which this message answers. Note that if message iden- + tifiers are used in this field, they must use the msg-id + specification format. + + 4.6.3. REFERENCES + + The contents of this field identify other correspondence + which this message references. Note that if message identif- + iers are used, they must use the msg-id specification format. + + 4.6.4. KEYWORDS + + This field contains keywords or phrases, separated by + commas. + + 4.7. OTHER FIELDS + + 4.7.1. SUBJECT + + This is intended to provide a summary, or indicate the + nature, of the message. + + 4.7.2. COMMENTS + + Permits adding text comments onto the message without + disturbing the contents of the message's body. + + 4.7.3. ENCRYPTED + + Sometimes, data encryption is used to increase the + privacy of message contents. If the body of a message has + been encrypted, to keep its contents private, the "Encrypted" + field can be used to note the fact and to indicate the nature + of the encryption. The first parameter indicates the + software used to encrypt the body, and the second, optional + is intended to aid the recipient in selecting the + proper decryption key. This code word may be viewed as an + index to a table of keys held by the recipient. + + Note: Unfortunately, headers must contain envelope, as well + as contents, information. Consequently, it is neces- + sary that they remain unencrypted, so that mail tran- + sport services may access them. Since names, + addresses, and "Subject" field contents may contain + + + August 13, 1982 - 24 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + sensitive information, this requirement limits total + message privacy. + + Names of encryption software are registered with the Net- + work Information Center, SRI International, Menlo Park, Cali- + fornia. + + 4.7.4. EXTENSION-FIELD + + A limited number of common fields have been defined in + this document. As network mail requirements dictate, addi- + tional fields may be standardized. To provide user-defined + fields with a measure of safety, in name selection, such + extension-fields will never have names that begin with the + string "X-". + + Names of Extension-fields are registered with the Network + Information Center, SRI International, Menlo Park, California. + + 4.7.5. USER-DEFINED-FIELD + + Individual users of network mail are free to define and + use additional header fields. Such fields must have names + which are not already used in the current specification or in + any definitions of extension-fields, and the overall syntax of + these user-defined-fields must conform to this specification's + rules for delimiting and folding fields. Due to the + extension-field publishing process, the name of a user- + defined-field may be pre-empted + + Note: The prefatory string "X-" will never be used in the + names of Extension-fields. This provides user-defined + fields with a protected set of names. + + + + + + + + + + + + + + + + + + + August 13, 1982 - 25 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 5. DATE AND TIME SPECIFICATION + + 5.1. SYNTAX + + date-time = [ day "," ] date time ; dd mm yy + ; hh:mm:ss zzz + + day = "Mon" / "Tue" / "Wed" / "Thu" + / "Fri" / "Sat" / "Sun" + + date = 1*2DIGIT month 2DIGIT ; day month year + ; e.g. 20 Jun 82 + + month = "Jan" / "Feb" / "Mar" / "Apr" + / "May" / "Jun" / "Jul" / "Aug" + / "Sep" / "Oct" / "Nov" / "Dec" + + time = hour zone ; ANSI and Military + + hour = 2DIGIT ":" 2DIGIT [":" 2DIGIT] + ; 00:00:00 - 23:59:59 + + zone = "UT" / "GMT" ; Universal Time + ; North American : UT + / "EST" / "EDT" ; Eastern: - 5/ - 4 + / "CST" / "CDT" ; Central: - 6/ - 5 + / "MST" / "MDT" ; Mountain: - 7/ - 6 + / "PST" / "PDT" ; Pacific: - 8/ - 7 + / 1ALPHA ; Military: Z = UT; + ; A:-1; (J not used) + ; M:-12; N:+1; Y:+12 + / ( ("+" / "-") 4DIGIT ) ; Local differential + ; hours+min. (HHMM) + + 5.2. SEMANTICS + + If included, day-of-week must be the day implied by the date + specification. + + Time zone may be indicated in several ways. "UT" is Univer- + sal Time (formerly called "Greenwich Mean Time"); "GMT" is per- + mitted as a reference to Universal Time. The military standard + uses a single character for each zone. "Z" is Universal Time. + "A" indicates one hour earlier, and "M" indicates 12 hours ear- + lier; "N" is one hour later, and "Y" is 12 hours later. The + letter "J" is not used. The other remaining two forms are taken + from ANSI standard X3.51-1975. One allows explicit indication of + the amount of offset from UT; the other uses common 3-character + strings for indicating time zones in North America. + + + August 13, 1982 - 26 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 6. ADDRESS SPECIFICATION + + 6.1. SYNTAX + + address = mailbox ; one addressee + / group ; named list + + group = phrase ":" [#mailbox] ";" + + mailbox = addr-spec ; simple address + / phrase route-addr ; name & addr-spec + + route-addr = "<" [route] addr-spec ">" + + route = 1#("@" domain) ":" ; path-relative + + addr-spec = local-part "@" domain ; global address + + local-part = word *("." word) ; uninterpreted + ; case-preserved + + domain = sub-domain *("." sub-domain) + + sub-domain = domain-ref / domain-literal + + domain-ref = atom ; symbolic reference + + 6.2. SEMANTICS + + A mailbox receives mail. It is a conceptual entity which + does not necessarily pertain to file storage. For example, some + sites may choose to print mail on their line printer and deliver + the output to the addressee's desk. + + A mailbox specification comprises a person, system or pro- + cess name reference, a domain-dependent string, and a name-domain + reference. The name reference is optional and is usually used to + indicate the human name of a recipient. The name-domain refer- + ence specifies a sequence of sub-domains. The domain-dependent + string is uninterpreted, except by the final sub-domain; the rest + of the mail service merely transmits it as a literal string. + + 6.2.1. DOMAINS + + A name-domain is a set of registered (mail) names. A name- + domain specification resolves to a subordinate name-domain + specification or to a terminal domain-dependent string. + Hence, domain specification is extensible, permitting any + number of registration levels. + + + August 13, 1982 - 27 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + Name-domains model a global, logical, hierarchical addressing + scheme. The model is logical, in that an address specifica- + tion is related to name registration and is not necessarily + tied to transmission path. The model's hierarchy is a + directed graph, called an in-tree, such that there is a single + path from the root of the tree to any node in the hierarchy. + If more than one path actually exists, they are considered to + be different addresses. + + The root node is common to all addresses; consequently, it is + not referenced. Its children constitute "top-level" name- + domains. Usually, a service has access to its own full domain + specification and to the names of all top-level name-domains. + + The "top" of the domain addressing hierarchy -- a child of the + root -- is indicated by the right-most field, in a domain + specification. Its child is specified to the left, its child + to the left, and so on. + + Some groups provide formal registration services; these con- + stitute name-domains that are independent logically of + specific machines. In addition, networks and machines impli- + citly compose name-domains, since their membership usually is + registered in name tables. + + In the case of formal registration, an organization implements + a (distributed) data base which provides an address-to-route + mapping service for addresses of the form: + + person@registry.organization + + Note that "organization" is a logical entity, separate from + any particular communication network. + + A mechanism for accessing "organization" is universally avail- + able. That mechanism, in turn, seeks an instantiation of the + registry; its location is not indicated in the address specif- + ication. It is assumed that the system which operates under + the name "organization" knows how to find a subordinate regis- + try. The registry will then use the "person" string to deter- + mine where to send the mail specification. + + The latter, network-oriented case permits simple, direct, + attachment-related address specification, such as: + + user@host.network + + Once the network is accessed, it is expected that a message + will go directly to the host and that the host will resolve + + + August 13, 1982 - 28 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + the user name, placing the message in the user's mailbox. + + 6.2.2. ABBREVIATED DOMAIN SPECIFICATION + + Since any number of levels is possible within the domain + hierarchy, specification of a fully qualified address can + become inconvenient. This standard permits abbreviated domain + specification, in a special case: + + For the address of the sender, call the left-most + sub-domain Level N. In a header address, if all of + the sub-domains above (i.e., to the right of) Level N + are the same as those of the sender, then they do not + have to appear in the specification. Otherwise, the + address must be fully qualified. + + This feature is subject to approval by local sub- + domains. Individual sub-domains may require their + member systems, which originate mail, to provide full + domain specification only. When permitted, abbrevia- + tions may be present only while the message stays + within the sub-domain of the sender. + + Use of this mechanism requires the sender's sub-domain + to reserve the names of all top-level domains, so that + full specifications can be distinguished from abbrevi- + ated specifications. + + For example, if a sender's address is: + + sender@registry-A.registry-1.organization-X + + and one recipient's address is: + + recipient@registry-B.registry-1.organization-X + + and another's is: + + recipient@registry-C.registry-2.organization-X + + then ".registry-1.organization-X" need not be specified in the + the message, but "registry-C.registry-2" DOES have to be + specified. That is, the first two addresses may be abbrevi- + ated, but the third address must be fully specified. + + When a message crosses a domain boundary, all addresses must + be specified in the full format, ending with the top-level + name-domain in the right-most field. It is the responsibility + of mail forwarding services to ensure that addresses conform + + + August 13, 1982 - 29 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + with this requirement. In the case of abbreviated addresses, + the relaying service must make the necessary expansions. It + should be noted that it often is difficult for such a service + to locate all occurrences of address abbreviations. For exam- + ple, it will not be possible to find such abbreviations within + the body of the message. The "Return-Path" field can aid + recipients in recovering from these errors. + + Note: When passing any portion of an addr-spec onto a process + which does not interpret data according to this stan- + dard (e.g., mail protocol servers). There must be NO + LWSP-chars preceding or following the at-sign or any + delimiting period ("."), such as shown in the above + examples, and only ONE SPACE between contiguous + s. + + 6.2.3. DOMAIN TERMS + + A domain-ref must be THE official name of a registry, network, + or host. It is a symbolic reference, within a name sub- + domain. At times, it is necessary to bypass standard mechan- + isms for resolving such references, using more primitive + information, such as a network host address rather than its + associated host name. + + To permit such references, this standard provides the domain- + literal construct. Its contents must conform with the needs + of the sub-domain in which it is interpreted. + + Domain-literals which refer to domains within the ARPA Inter- + net specify 32-bit Internet addresses, in four 8-bit fields + noted in decimal, as described in Request for Comments #820, + "Assigned Numbers." For example: + + [10.0.3.19] + + Note: THE USE OF DOMAIN-LITERALS IS STRONGLY DISCOURAGED. It + is permitted only as a means of bypassing temporary + system limitations, such as name tables which are not + complete. + + The names of "top-level" domains, and the names of domains + under in the ARPA Internet, are registered with the Network + Information Center, SRI International, Menlo Park, California. + + 6.2.4. DOMAIN-DEPENDENT LOCAL STRING + + The local-part of an addr-spec in a mailbox specification + (i.e., the host's name for the mailbox) is understood to be + + + August 13, 1982 - 30 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + whatever the receiving mail protocol server allows. For exam- + ple, some systems do not understand mailbox references of the + form "P. D. Q. Bach", but others do. + + This specification treats periods (".") as lexical separators. + Hence, their presence in local-parts which are not quoted- + strings, is detected. However, such occurrences carry NO + semantics. That is, if a local-part has periods within it, an + address parser will divide the local-part into several tokens, + but the sequence of tokens will be treated as one uninter- + preted unit. The sequence will be re-assembled, when the + address is passed outside of the system such as to a mail pro- + tocol service. + + For example, the address: + + First.Last@Registry.Org + + is legal and does not require the local-part to be surrounded + with quotation-marks. (However, "First Last" DOES require + quoting.) The local-part of the address, when passed outside + of the mail system, within the Registry.Org domain, is + "First.Last", again without quotation marks. + + 6.2.5. BALANCING LOCAL-PART AND DOMAIN + + In some cases, the boundary between local-part and domain can + be flexible. The local-part may be a simple string, which is + used for the final determination of the recipient's mailbox. + All other levels of reference are, therefore, part of the + domain. + + For some systems, in the case of abbreviated reference to the + local and subordinate sub-domains, it may be possible to + specify only one reference within the domain part and place + the other, subordinate name-domain references within the + local-part. This would appear as: + + mailbox.sub1.sub2@this-domain + + Such a specification would be acceptable to address parsers + which conform to RFC #733, but do not support this newer + Internet standard. While contrary to the intent of this stan- + dard, the form is legal. + + Also, some sub-domains have a specification syntax which does + not conform to this standard. For example: + + sub-net.mailbox@sub-domain.domain + + + August 13, 1982 - 31 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + uses a different parsing sequence for local-part than for + domain. + + Note: As a rule, the domain specification should contain + fields which are encoded according to the syntax of + this standard and which contain generally-standardized + information. The local-part specification should con- + tain only that portion of the address which deviates + from the form or intention of the domain field. + + 6.2.6. MULTIPLE MAILBOXES + + An individual may have several mailboxes and wish to receive + mail at whatever mailbox is convenient for the sender to + access. This standard does not provide a means of specifying + "any member of" a list of mailboxes. + + A set of individuals may wish to receive mail as a single unit + (i.e., a distribution list). The construct permits + specification of such a list. Recipient mailboxes are speci- + fied within the bracketed part (":" - ";"). A copy of the + transmitted message is to be sent to each mailbox listed. + This standard does not permit recursive specification of + groups within groups. + + While a list must be named, it is not required that the con- + tents of the list be included. In this case, the
+ serves only as an indication of group distribution and would + appear in the form: + + name:; + + Some mail services may provide a group-list distribution + facility, accepting a single mailbox reference, expanding it + to the full distribution list, and relaying the mail to the + list's members. This standard provides no additional syntax + for indicating such a service. Using the address + alternative, while listing one mailbox in it, can mean either + that the mailbox reference will be expanded to a list or that + there is a group with one member. + + 6.2.7. EXPLICIT PATH SPECIFICATION + + At times, a message originator may wish to indicate the + transmission path that a message should follow. This is + called source routing. The normal addressing scheme, used in + an addr-spec, is carefully separated from such information; + the portion of a route-addr is provided for such occa- + sions. It specifies the sequence of hosts and/or transmission + + + August 13, 1982 - 32 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + services that are to be traversed. Both domain-refs and + domain-literals may be used. + + Note: The use of source routing is discouraged. Unless the + sender has special need of path restriction, the choice + of transmission route should be left to the mail tran- + sport service. + + 6.3. RESERVED ADDRESS + + It often is necessary to send mail to a site, without know- + ing any of its valid addresses. For example, there may be mail + system dysfunctions, or a user may wish to find out a person's + correct address, at that site. + + This standard specifies a single, reserved mailbox address + (local-part) which is to be valid at each site. Mail sent to + that address is to be routed to a person responsible for the + site's mail system or to a person with responsibility for general + site operation. The name of the reserved local-part address is: + + Postmaster + + so that "Postmaster@domain" is required to be valid. + + Note: This reserved local-part must be matched without sensi- + tivity to alphabetic case, so that "POSTMASTER", "postmas- + ter", and even "poStmASteR" is to be accepted. + + + + + + + + + + + + + + + + + + + + + + + + August 13, 1982 - 33 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + 7. BIBLIOGRAPHY + + + ANSI. "USA Standard Code for Information Interchange," X3.4. + American National Standards Institute: New York (1968). Also + in: Feinler, E. and J. Postel, eds., "ARPANET Protocol Hand- + book", NIC 7104. + + ANSI. "Representations of Universal Time, Local Time Differen- + tials, and United States Time Zone References for Information + Interchange," X3.51-1975. American National Standards Insti- + tute: New York (1975). + + Bemer, R.W., "Time and the Computer." In: Interface Age (Feb. + 1979). + + Bennett, C.J. "JNT Mail Protocol". Joint Network Team, Ruther- + ford and Appleton Laboratory: Didcot, England. + + Bhushan, A.K., Pogran, K.T., Tomlinson, R.S., and White, J.E. + "Standardizing Network Mail Headers," ARPANET Request for + Comments No. 561, Network Information Center No. 18516; SRI + International: Menlo Park (September 1973). + + Birrell, A.D., Levin, R., Needham, R.M., and Schroeder, M.D. + "Grapevine: An Exercise in Distributed Computing," Communica- + tions of the ACM 25, 4 (April 1982), 260-274. + + Crocker, D.H., Vittal, J.J., Pogran, K.T., Henderson, D.A. + "Standard for the Format of ARPA Network Text Message," + ARPANET Request for Comments No. 733, Network Information + Center No. 41952. SRI International: Menlo Park (November + 1977). + + Feinler, E.J. and Postel, J.B. ARPANET Protocol Handbook, Net- + work Information Center No. 7104 (NTIS AD A003890). SRI + International: Menlo Park (April 1976). + + Harary, F. "Graph Theory". Addison-Wesley: Reading, Mass. + (1969). + + Levin, R. and Schroeder, M. "Transport of Electronic Messages + through a Network," TeleInformatics 79, pp. 29-33. North + Holland (1979). Also as Xerox Palo Alto Research Center + Technical Report CSL-79-4. + + Myer, T.H. and Henderson, D.A. "Message Transmission Protocol," + ARPANET Request for Comments, No. 680, Network Information + Center No. 32116. SRI International: Menlo Park (1975). + + + August 13, 1982 - 34 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + NBS. "Specification of Message Format for Computer Based Message + Systems, Recommended Federal Information Processing Standard." + National Bureau of Standards: Gaithersburg, Maryland + (October 1981). + + NIC. Internet Protocol Transition Workbook. Network Information + Center, SRI-International, Menlo Park, California (March + 1982). + + Oppen, D.C. and Dalal, Y.K. "The Clearinghouse: A Decentralized + Agent for Locating Named Objects in a Distributed Environ- + ment," OPD-T8103. Xerox Office Products Division: Palo Alto, + CA. (October 1981). + + Postel, J.B. "Assigned Numbers," ARPANET Request for Comments, + No. 820. SRI International: Menlo Park (August 1982). + + Postel, J.B. "Simple Mail Transfer Protocol," ARPANET Request + for Comments, No. 821. SRI International: Menlo Park (August + 1982). + + Shoch, J.F. "Internetwork naming, addressing and routing," in + Proc. 17th IEEE Computer Society International Conference, pp. + 72-79, Sept. 1978, IEEE Cat. No. 78 CH 1388-8C. + + Su, Z. and Postel, J. "The Domain Naming Convention for Internet + User Applications," ARPANET Request for Comments, No. 819. + SRI International: Menlo Park (August 1982). + + + + + + + + + + + + + + + + + + + + + + + + August 13, 1982 - 35 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + APPENDIX + + + A. EXAMPLES + + A.1. ADDRESSES + + A.1.1. Alfred Neuman + + A.1.2. Neuman@BBN-TENEXA + + These two "Alfred Neuman" examples have identical seman- + tics, as far as the operation of the local host's mail sending + (distribution) program (also sometimes called its "mailer") + and the remote host's mail protocol server are concerned. In + the first example, the "Alfred Neuman" is ignored by the + mailer, as "Neuman@BBN-TENEXA" completely specifies the reci- + pient. The second example contains no superfluous informa- + tion, and, again, "Neuman@BBN-TENEXA" is the intended reci- + pient. + + Note: When the message crosses name-domain boundaries, then + these specifications must be changed, so as to indicate + the remainder of the hierarchy, starting with the top + level. + + A.1.3. "George, Ted" + + This form might be used to indicate that a single mailbox + is shared by several users. The quoted string is ignored by + the originating host's mailer, because "Shared@Group.Arpanet" + completely specifies the destination mailbox. + + A.1.4. Wilt . (the Stilt) Chamberlain@NBA.US + + The "(the Stilt)" is a comment, which is NOT included in + the destination mailbox address handed to the originating + system's mailer. The local-part of the address is the string + "Wilt.Chamberlain", with NO space between the first and second + words. + + A.1.5. Address Lists + + Gourmets: Pompous Person , + Childs@WGBH.Boston, Galloping Gourmet@ + ANT.Down-Under (Australian National Television), + Cheapie@Discount-Liquors;, + Cruisers: Port@Portugal, Jones@SEA;, + Another@Somewhere.SomeOrg + + + August 13, 1982 - 36 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + This group list example points out the use of comments and the + mixing of addresses and groups. + + A.2. ORIGINATOR ITEMS + + A.2.1. Author-sent + + George Jones logs into his host as "Jones". He sends + mail himself. + + From: Jones@Group.Org + + or + + From: George Jones + + A.2.2. Secretary-sent + + George Jones logs in as Jones on his host. His secre- + tary, who logs in as Secy sends mail for him. Replies to the + mail should go to George. + + From: George Jones + Sender: Secy@Other-Group + + A.2.3. Secretary-sent, for user of shared directory + + George Jones' secretary sends mail for George. Replies + should go to George. + + From: George Jones + Sender: Secy@Other-Group + + Note that there need not be a space between "Jones" and the + "<", but adding a space enhances readability (as is the case + in other examples. + + A.2.4. Committee activity, with one author + + George is a member of a committee. He wishes to have any + replies to his message go to all committee members. + + From: George Jones + Sender: Jones@Host + Reply-To: The Committee: Jones@Host.Net, + Smith@Other.Org, + Doe@Somewhere-Else; + + Note that if George had not included himself in the + + + August 13, 1982 - 37 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + enumeration of The Committee, he would not have gotten an + implicit reply; the presence of the "Reply-to" field SUPER- + SEDES the sending of a reply to the person named in the "From" + field. + + A.2.5. Secretary acting as full agent of author + + George Jones asks his secretary (Secy@Host) to send a + message for him in his capacity as Group. He wants his secre- + tary to handle all replies. + + From: George Jones + Sender: Secy@Host + Reply-To: Secy@Host + + A.2.6. Agent for user without online mailbox + + A friend of George's, Sarah, is visiting. George's + secretary sends some mail to a friend of Sarah in computer- + land. Replies should go to George, whose mailbox is Jones at + Registry. + + From: Sarah Friendly + Sender: Secy-Name + Reply-To: Jones@Registry. + + A.2.7. Agent for member of a committee + + George's secretary sends out a message which was authored + jointly by all the members of a committee. Note that the name + of the committee cannot be specified, since names are + not permitted in the From field. + + From: Jones@Host, + Smith@Other-Host, + Doe@Somewhere-Else + Sender: Secy@SHost + + + + + + + + + + + + + + + August 13, 1982 - 38 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + A.3. COMPLETE HEADERS + + A.3.1. Minimum required + + Date: 26 Aug 76 1429 EDT Date: 26 Aug 76 1429 EDT + From: Jones@Registry.Org or From: Jones@Registry.Org + Bcc: To: Smith@Registry.Org + + Note that the "Bcc" field may be empty, while the "To" field + is required to have at least one address. + + A.3.2. Using some of the additional fields + + Date: 26 Aug 76 1430 EDT + From: George Jones + Sender: Secy@SHOST + To: "Al Neuman"@Mad-Host, + Sam.Irving@Other-Host + Message-ID: + + A.3.3. About as complex as you're going to get + + Date : 27 Aug 76 0932 PDT + From : Ken Davis + Subject : Re: The Syntax in the RFC + Sender : KSecy@Other-Host + Reply-To : Sam.Irving@Reg.Organization + To : George Jones , + Al.Neuman@MAD.Publisher + cc : Important folk: + Tom Softwood , + "Sam Irving"@Other-Host;, + Standard Distribution: + /main/davis/people/standard@Other-Host, + "standard.dist.3"@Tops-20-Host>; + Comment : Sam is away on business. He asked me to handle + his mail for him. He'll be able to provide a + more accurate explanation when he returns + next week. + In-Reply-To: , George's message + X-Special-action: This is a sample of user-defined field- + names. There could also be a field-name + "Special-action", but its name might later be + preempted + Message-ID: <4231.629.XYzi-What@Other-Host> + + + + + + + August 13, 1982 - 39 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + B. SIMPLE FIELD PARSING + + Some mail-reading software systems may wish to perform only + minimal processing, ignoring the internal syntax of structured + field-bodies and treating them the same as unstructured-field- + bodies. Such software will need only to distinguish: + + o Header fields from the message body, + + o Beginnings of fields from lines which continue fields, + + o Field-names from field-contents. + + The abbreviated set of syntactic rules which follows will + suffice for this purpose. It describes a limited view of mes- + sages and is a subset of the syntactic rules provided in the main + part of this specification. One small exception is that the con- + tents of field-bodies consist only of text: + + B.1. SYNTAX + + + message = *field *(CRLF *text) + + field = field-name ":" [field-body] CRLF + + field-name = 1* + + field-body = *text [CRLF LWSP-char field-body] + + + B.2. SEMANTICS + + Headers occur before the message body and are terminated by + a null line (i.e., two contiguous CRLFs). + + A line which continues a header field begins with a SPACE or + HTAB character, while a line beginning a field starts with a + printable character which is not a colon. + + A field-name consists of one or more printable characters + (excluding colon, space, and control-characters). A field-name + MUST be contained on one line. Upper and lower case are not dis- + tinguished when comparing field-names. + + + + + + + + August 13, 1982 - 40 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + C. DIFFERENCES FROM RFC #733 + + The following summarizes the differences between this stan- + dard and the one specified in Arpanet Request for Comments #733, + "Standard for the Format of ARPA Network Text Messages". The + differences are listed in the order of their occurrence in the + current specification. + + C.1. FIELD DEFINITIONS + + C.1.1. FIELD NAMES + + These now must be a sequence of printable characters. They + may not contain any LWSP-chars. + + C.2. LEXICAL TOKENS + + C.2.1. SPECIALS + + The characters period ("."), left-square bracket ("["), and + right-square bracket ("]") have been added. For presentation + purposes, and when passing a specification to a system that + does not conform to this standard, periods are to be contigu- + ous with their surrounding lexical tokens. No linear-white- + space is permitted between them. The presence of one LWSP- + char between other tokens is still directed. + + C.2.2. ATOM + + Atoms may not contain SPACE. + + C.2.3. SPECIAL TEXT + + ctext and qtext have had backslash ("\") added to the list of + prohibited characters. + + C.2.4. DOMAINS + + The lexical tokens and have been + added. + + C.3. MESSAGE SPECIFICATION + + C.3.1. TRACE + + The "Return-path:" and "Received:" fields have been specified. + + + + + + August 13, 1982 - 41 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + C.3.2. FROM + + The "From" field must contain machine-usable addresses (addr- + spec). Multiple addresses may be specified, but named-lists + (groups) may not. + + C.3.3. RESENT + + The meta-construct of prefacing field names with the string + "Resent-" has been added, to indicate that a message has been + forwarded by an intermediate recipient. + + C.3.4. DESTINATION + + A message must contain at least one destination address field. + "To" and "CC" are required to contain at least one address. + + C.3.5. IN-REPLY-TO + + The field-body is no longer a comma-separated list, although a + sequence is still permitted. + + C.3.6. REFERENCE + + The field-body is no longer a comma-separated list, although a + sequence is still permitted. + + C.3.7. ENCRYPTED + + A field has been specified that permits senders to indicate + that the body of a message has been encrypted. + + C.3.8. EXTENSION-FIELD + + Extension fields are prohibited from beginning with the char- + acters "X-". + + C.4. DATE AND TIME SPECIFICATION + + C.4.1. SIMPLIFICATION + + Fewer optional forms are permitted and the list of three- + letter time zones has been shortened. + + C.5. ADDRESS SPECIFICATION + + + + + + + August 13, 1982 - 42 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + C.5.1. ADDRESS + + The use of quoted-string, and the ":"-atom-":" construct, have + been removed. An address now is either a single mailbox + reference or is a named list of addresses. The latter indi- + cates a group distribution. + + C.5.2. GROUPS + + Group lists are now required to to have a name. Group lists + may not be nested. + + C.5.3. MAILBOX + + A mailbox specification may indicate a person's name, as + before. Such a named list no longer may specify multiple + mailboxes and may not be nested. + + C.5.4. ROUTE ADDRESSING + + Addresses now are taken to be absolute, global specifications, + independent of transmission paths. The construct has + been provided, to permit explicit specification of transmis- + sion path. RFC #733's use of multiple at-signs ("@") was + intended as a general syntax for indicating routing and/or + hierarchical addressing. The current standard separates these + specifications and only one at-sign is permitted. + + C.5.5. AT-SIGN + + The string " at " no longer is used as an address delimiter. + Only at-sign ("@") serves the function. + + C.5.6. DOMAINS + + Hierarchical, logical name-domains have been added. + + C.6. RESERVED ADDRESS + + The local-part "Postmaster" has been reserved, so that users can + be guaranteed at least one valid address at a site. + + + + + + + + + + + August 13, 1982 - 43 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + D. ALPHABETICAL LISTING OF SYNTAX RULES + + address = mailbox ; one addressee + / group ; named list + addr-spec = local-part "@" domain ; global address + ALPHA = + ; (101-132, 65.- 90.) + ; (141-172, 97.-122.) + atom = 1* + authentic = "From" ":" mailbox ; Single author + / ( "Sender" ":" mailbox ; Actual submittor + "From" ":" 1#mailbox) ; Multiple authors + ; or not sender + CHAR = ; ( 0-177, 0.-127.) + comment = "(" *(ctext / quoted-pair / comment) ")" + CR = ; ( 15, 13.) + CRLF = CR LF + ctext = may be folded + ")", "\" & CR, & including + linear-white-space> + CTL = ; ( 177, 127.) + date = 1*2DIGIT month 2DIGIT ; day month year + ; e.g. 20 Jun 82 + dates = orig-date ; Original + [ resent-date ] ; Forwarded + date-time = [ day "," ] date time ; dd mm yy + ; hh:mm:ss zzz + day = "Mon" / "Tue" / "Wed" / "Thu" + / "Fri" / "Sat" / "Sun" + delimiters = specials / linear-white-space / comment + destination = "To" ":" 1#address ; Primary + / "Resent-To" ":" 1#address + / "cc" ":" 1#address ; Secondary + / "Resent-cc" ":" 1#address + / "bcc" ":" #address ; Blind carbon + / "Resent-bcc" ":" #address + DIGIT = ; ( 60- 71, 48.- 57.) + domain = sub-domain *("." sub-domain) + domain-literal = "[" *(dtext / quoted-pair) "]" + domain-ref = atom ; symbolic reference + dtext = may be folded + "]", "\" & CR, & including + linear-white-space> + extension-field = + + + + August 13, 1982 - 44 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + field = field-name ":" [ field-body ] CRLF + fields = dates ; Creation time, + source ; author id & one + 1*destination ; address required + *optional-field ; others optional + field-body = field-body-contents + [CRLF LWSP-char field-body] + field-body-contents = + + field-name = 1* + group = phrase ":" [#mailbox] ";" + hour = 2DIGIT ":" 2DIGIT [":" 2DIGIT] + ; 00:00:00 - 23:59:59 + HTAB = ; ( 11, 9.) + LF = ; ( 12, 10.) + linear-white-space = 1*([CRLF] LWSP-char) ; semantics = SPACE + ; CRLF => folding + local-part = word *("." word) ; uninterpreted + ; case-preserved + LWSP-char = SPACE / HTAB ; semantics = SPACE + mailbox = addr-spec ; simple address + / phrase route-addr ; name & addr-spec + message = fields *( CRLF *text ) ; Everything after + ; first null line + ; is message body + month = "Jan" / "Feb" / "Mar" / "Apr" + / "May" / "Jun" / "Jul" / "Aug" + / "Sep" / "Oct" / "Nov" / "Dec" + msg-id = "<" addr-spec ">" ; Unique message id + optional-field = + / "Message-ID" ":" msg-id + / "Resent-Message-ID" ":" msg-id + / "In-Reply-To" ":" *(phrase / msg-id) + / "References" ":" *(phrase / msg-id) + / "Keywords" ":" #phrase + / "Subject" ":" *text + / "Comments" ":" *text + / "Encrypted" ":" 1#2word + / extension-field ; To be defined + / user-defined-field ; May be pre-empted + orig-date = "Date" ":" date-time + originator = authentic ; authenticated addr + [ "Reply-To" ":" 1#address] ) + phrase = 1*word ; Sequence of words + + + + + August 13, 1982 - 45 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + qtext = , ; => may be folded + "\" & CR, and including + linear-white-space> + quoted-pair = "\" CHAR ; may quote any char + quoted-string = <"> *(qtext/quoted-pair) <">; Regular qtext or + ; quoted chars. + received = "Received" ":" ; one per relay + ["from" domain] ; sending host + ["by" domain] ; receiving host + ["via" atom] ; physical path + *("with" atom) ; link/mail protocol + ["id" msg-id] ; receiver msg id + ["for" addr-spec] ; initial form + ";" date-time ; time received + + resent = resent-authentic + [ "Resent-Reply-To" ":" 1#address] ) + resent-authentic = + = "Resent-From" ":" mailbox + / ( "Resent-Sender" ":" mailbox + "Resent-From" ":" 1#mailbox ) + resent-date = "Resent-Date" ":" date-time + return = "Return-path" ":" route-addr ; return address + route = 1#("@" domain) ":" ; path-relative + route-addr = "<" [route] addr-spec ">" + source = [ trace ] ; net traversals + originator ; original mail + [ resent ] ; forwarded + SPACE = ; ( 40, 32.) + specials = "(" / ")" / "<" / ">" / "@" ; Must be in quoted- + / "," / ";" / ":" / "\" / <"> ; string, to use + / "." / "[" / "]" ; within a word. + sub-domain = domain-ref / domain-literal + text = atoms, specials, + CR & bare LF, but NOT ; comments and + including CRLF> ; quoted-strings are + ; NOT recognized. + time = hour zone ; ANSI and Military + trace = return ; path to sender + 1*received ; receipt tags + user-defined-field = + + word = atom / quoted-string + + + + + August 13, 1982 - 46 - RFC #822 + + + + Standard for ARPA Internet Text Messages + + + zone = "UT" / "GMT" ; Universal Time + ; North American : UT + / "EST" / "EDT" ; Eastern: - 5/ - 4 + / "CST" / "CDT" ; Central: - 6/ - 5 + / "MST" / "MDT" ; Mountain: - 7/ - 6 + / "PST" / "PDT" ; Pacific: - 8/ - 7 + / 1ALPHA ; Military: Z = UT; + <"> = ; ( 42, 34.) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + August 13, 1982 - 47 - RFC #822 + diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.xml b/examples/documentation/sample-data/convert_pdf_document/input/sample.xml new file mode 100644 index 00000000..fa00fb74 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.xml @@ -0,0 +1,211 @@ + + + + Empire Burlesque + Bob Dylan + USA + Columbia + 10.90 + 1985 + + + Hide your heart + Bonnie Tyler + UK + CBS Records + 9.90 + 1988 + + + Greatest Hits + Dolly Parton + USA + RCA + 9.90 + 1982 + + + Still got the blues + Gary Moore + UK + Virgin records + 10.20 + 1990 + + + Eros + Eros Ramazzotti + EU + BMG + 9.90 + 1997 + + + One night only + Bee Gees + UK + Polydor + 10.90 + 1998 + + + Sylvias Mother + Dr.Hook + UK + CBS + 8.10 + 1973 + + + Maggie May + Rod Stewart + UK + Pickwick + 8.50 + 1990 + + + Romanza + Andrea Bocelli + EU + Polydor + 10.80 + 1996 + + + When a man loves a woman + Percy Sledge + USA + Atlantic + 8.70 + 1987 + + + Black angel + Savage Rose + EU + Mega + 10.90 + 1995 + + + 1999 Grammy Nominees + Many + USA + Grammy + 10.20 + 1999 + + + For the good times + Kenny Rogers + UK + Magic Rogers Master + 8.70 + 1995 + + + Big Willie style + Will Smith + USA + Columbia + 9.90 + 1997 + + + Tupelo Honey + Van Morrison + UK + Polydor + 8.20 + 1971 + + + Soulsville + Jorn Hoel + Norway + WEA + 7.90 + 1996 + + + The very best of + Cat Stevens + UK + Island + 8.90 + 1990 + + + Stop + Sam Brown + UK + A and M + 8.90 + 1988 + + + Bridge of Spies + T`Pau + UK + Siren + 7.90 + 1987 + + + Private Dancer + Tina Turner + UK + Capitol + 8.90 + 1983 + + + Midt om natten + Kim Larsen + EU + Medley + 7.80 + 1983 + + + Pavarotti Gala Concert + Luciano Pavarotti + UK + DECCA + 9.90 + 1991 + + + The dock of the bay + Otis Redding + USA + Stax Records + 7.90 + 1968 + + + Picture book + Simply Red + EU + Elektra + 7.20 + 1985 + + + Red + The Communards + UK + London + 7.80 + 1987 + + + Unchain my heart + Joe Cocker + USA + EMI + 8.20 + 1987 + + diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample.xslt b/examples/documentation/sample-data/convert_pdf_document/input/sample.xslt new file mode 100644 index 00000000..c233ceed --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample.xslt @@ -0,0 +1,27 @@ + + + + + +

My CD Collection

+ + + + + + + + + + + +
TitleArtist
+ + + +
+ + +
+
diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample_a.pdf b/examples/documentation/sample-data/convert_pdf_document/input/sample_a.pdf new file mode 100644 index 00000000..23a96213 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample_a.pdf differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample_media.html b/examples/documentation/sample-data/convert_pdf_document/input/sample_media.html new file mode 100644 index 00000000..9f92ea53 --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample_media.html @@ -0,0 +1,263 @@ + + + + + + + Sample Document + + + + +

h1 Heading 😎

+

h2 Heading

+

h3 Heading

+

h4 Heading

+
h5 Heading
+
h6 Heading
+

Horizontal Rules

+
+
+
+

Typographic replacements

+

Enable typographer option to see result.

+

© © ® ® ™ ™ (p) (P) ±

+

test… test… test… test?.. test!..

+

!!! ??? , – —

+

“Smartypants, double quotes†and ‘single quotes’

+

Emphasis

+

This is bold text

+

This is bold text

+

This is italic text

+

This is italic text

+

Strikethrough

+

Blockquotes

+
+

Blockquotes can also be nested…

+
+

…by using additional greater-than signs right next to each other…

+
+

…or with spaces between arrows.

+
+
+
+

Lists

+

Unordered

+
    +
  • Create a list by starting a line with +, -, or *
  • +
  • Sub-lists are made by indenting 2 spaces: +
      +
    • Marker character change forces new list start: +
        +
      • Ac tristique libero volutpat at
      • +
      +
        +
      • Facilisis in pretium nisl aliquet
      • +
      +
        +
      • Nulla volutpat aliquam velit
      • +
      +
    • +
    +
  • +
  • Very easy!
  • +
+

Ordered

+
    +
  1. +

    Lorem ipsum dolor sit amet

    +
  2. +
  3. +

    Consectetur adipiscing elit

    +
  4. +
  5. +

    Integer molestie lorem at massa

    +
  6. +
  7. +

    You can use sequential numbers…

    +
  8. +
  9. +

    …or keep all the numbers as 1.

    +
  10. +
+

Start numbering with offset:

+
    +
  1. foo
  2. +
  3. bar
  4. +
+

Code

+

Inline code

+

Indented code

+
// Some comments
+line 1 of code
+line 2 of code
+line 3 of code
+
+

Block code “fencesâ€

+
Sample text here...
+
+

Syntax highlighting

+
var foo = function (bar) {
+  return bar++;
+};
+
+console.log(foo(5));
+
+

Tables

+ + + + + + + + + + + + + + + + + + + + + +
OptionDescription
datapath to data files to supply the data that will be passed into templates.
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.
+

Right aligned columns

+ + + + + + + + + + + + + + + + + + + + + +
OptionDescription
datapath to data files to supply the data that will be passed into templates. +
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.
+

Links

+

link text

+

link with title

+

Autoconverted link https://github.com/nodeca/pica (enable linkify to + see)

+

Images

+

Minion + Stormtroopocat +

+

Like links, Images also have a footnote style syntax

+

Alt text

+

With a reference later in the document defining the URL location:

+

Plugins

+

The killer feature of markdown-it is very effective support of + syntax plugins. +

+

Emojies

+
+

Classic markup: 😉 😢 😆 😋

+

Shortcuts (emoticons): 😃 😦 😎 😉

+
+

see how to change output with + twemoji.

+

Subscript / Superscript

+
    +
  • 19th
  • +
  • H2O
  • +
+

<ins>

+

Inserted text

+

<mark>

+

Marked text

+

Footnotes

+

Footnote 1 link[1].

+

Footnote 2 link[2].

+

Inline footnote[3] definition.

+

Duplicated footnote reference[2:1].

+

Definition lists

+
+
Term 1
+
+

Definition 1 + with lazy continuation.

+
+
Term 2 with inline markup
+
+

Definition 2

+
  { some code, part of Definition 2 }
+
+

Third paragraph of definition 2.

+
+
+

Compact style:

+
+
Term 1
+
Definition 1
+
Term 2
+
Definition 2a
+
Definition 2b
+
+

Abbreviations

+

This is HTML abbreviation example.

+

It converts “HTMLâ€, but keep intact partial entries like + “xxxHTMLyyy†and so on.

+

Custom containers

+
+

here be dragons

+
+
+
+
    +
  1. +

    Footnote can have markup

    +

    and multiple paragraphs. ↩︎

    +
  2. +
  3. +

    Footnote text. ↩︎ ↩︎

    +
  4. +
  5. +

    Text of inline footnote ↩︎

    +
  6. +
+
+ + + \ No newline at end of file diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample_pcl.txt b/examples/documentation/sample-data/convert_pdf_document/input/sample_pcl.txt new file mode 100644 index 00000000..f61a955f Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample_pcl.txt differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample_python.pdf b/examples/documentation/sample-data/convert_pdf_document/input/sample_python.pdf new file mode 100644 index 00000000..d83cfca3 Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample_python.pdf differ diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample_simple.txt b/examples/documentation/sample-data/convert_pdf_document/input/sample_simple.txt new file mode 100644 index 00000000..cd3d8d9c --- /dev/null +++ b/examples/documentation/sample-data/convert_pdf_document/input/sample_simple.txt @@ -0,0 +1,714 @@ +CHAPTER ONE + + + +The Letter + + + +The bell of Moat House Castle at Tunstall rang loudly one spring afternoon. The people of the village looked up at the castle. + +'What's happening?' asked one man. + +'I don't know,' said another. 'A messenger brought a letter for Sir Oliver Oates, the priest, half an hour ago. It was from Sir Daniel Brackley.' + +'But why is the bell ringing?' asked an old man. + +Suddenly a handsome young man appeared on his grey horse. He was about eighteen years old and had brown hair and blue eyes. He had a bow and arrow on his back. His name was Richard Shelton and he was Sir Daniel's ward. + +Richard Shelton looked at the people around him and said, 'There will be a big battle soon! Sir Daniel wants everyone to fight.' + +'Another battle!' cried an angry woman. 'This is terrible! Our men go and die in battles, and their wives and children are hungry.' + +'We pay high taxes to Sir Daniel and we don't have any money for food,' said a young mother with three small children. + +'Who is Sir Daniel fighting for today?' asked a tall man. Lancaster or York?' + +'I'm sorry, I don't know,' said Richard, and his face became red. + +Sir Daniel Brackley was not a loyal man and the people did not like him. He seemed to always change his mind: sometimes he fought for Lancaster and sometimes he fought for York. + +A big man on a black horse appeared. It was Bennet Hatch, Sir Daniel's best friend. He was about forty and had dark hair and an unfriendly face. + +'All of the men in the village must go to Moat House Castle and get ready for the battle!' Hatch cried. + +Then Hatch looked at Richard and said, 'Let's go to Nick Appleyard's house.' + +When they arrived Hatch said, 'Nick Appleyard, you must go and defend Moat House Castle because Sir Daniel is going to Kettley to fight.' + +While the two men were talking, a black arrow suddenly hit Nick Appleyard in the back and killed him. + +'Oh, no!' cried Richard. 'Appleyard is dead! Someone in the forest shot this black arrow.' + +'Look! There's a message on the arrow,' said Hatch. 'What does it say, Richard?' + +Richard took the arrow and read, '"For Appleyard, from John, to make things right." What a strange message!' + +'It's dangerous here, let's go to the church,' said Hatch. + +There were about twenty men on their horses outside the church. They were ready to fight. + +'Sir Daniel will be pleased with these brave men,' said Hatch. + +'Look at the church door,' said Richard. 'There's a letter on it!' + +'A letter on the church door,' said Sir Oliver, surprised. He was the priest of the village and Sir Daniel's good friend. 'Young Richard, please read it.' + +Richard took the letter off the door and read it aloud. + + + +I have four black arrows. + +The first arrow killed Appleyard, the next one will kill Bennet Hatch, because he burnt Grimstone House. + +Another arrow is for Sir Oliver Oates, because he killed Sir Harry Shelton. + +Sir Daniel will get the fourth arrow. + +From John of the Green Wood and his men. + +P.S. Remember we have other arrows for your men! + + + +'We live in a terrible world! I'm a good man. I did not kill Sir Harry Shelton!' cried Sir Oliver Oates. + +'We know you're a good, honest man, Sir Oliver,' said Hatch. Then he whispered something in Sir Oliver's ear and looked at Richard. Sir Harry Shelton was Richard's father. Richard saw this but he said nothing. + +'I must write a letter to Sir Daniel and tell him what happened,' said Sir Oliver. + +When the letter was ready he said, 'Richard, take this important letter to Sir Daniel immediately. Be careful on the road because it can be very dangerous.' + +Richard took the letter and went to get his horse. + +Hatch followed him. 'Richard,' he said quietly, 'you're a brave, honest young man. Listen to me, be careful of Sir Daniel. Don't trust him and don't trust Sir Oliver. They're dangerous men.' + +Richard was surprised and started thinking. 'Thank you, my friend,' he said. Then he got on his grey horse and galloped away. + + + + + +CHAPTER TWO + + + +John Matcham + + + +Sir Daniel Brackley sat next to the fire at the Sign of the Sun Inn in Kettley. He was a tall man of about forty. He was bald and had a big nose and black eyes. He collected taxes all day and now he was thinking about how he could make more money. Sir Daniel was a very greedy man and did many bad things. + +A thin young boy was sitting near the door of the inn. He was very sad. + +'Come here, John,' said Sir Daniel. The young boy was about thirteen, and had blond hair and blue eyes. He was wearing dirty, old clothes and a big brown hat. + +Sir Daniel looked at him and laughed, 'You make me laugh, John!' + +'Don't laugh at me!' said John angrily. 'I don't like it.' + +'Oh, let me laugh!' said Sir Daniel. 'I'll plan a good marriage for you - you'll see.' + +'And I'll make a lot of money with this marriage,' thought Sir Daniel. 'Lord Shoreby will pay me well...' + +The young boy went to sit down again. + +Sometime later Richard came into the inn. + +'Richard, my brave boy!' said Sir Daniel. 'Sit down and eat. You're probably hungry and thirsty.' + +'Here's an important letter from Sir Oliver,' said Richard, giving him the letter. + +Sir Daniel read it and he was worried. + +'Richard, the letter on the church door is a lie!' said Sir Daniel. 'Sir Oliver did not kill your poor father. Ellis Duckworth killed your father, but he escaped and we never found him.' + +'Did this happen at Moat House Castle?' asked Richard, looking into Sir Daniel's eyes. + +'It happened between Moat House and Holywood,' answered Sir Daniel. 'But now sit down and eat. I must answer Sir Oliver's letter and then you can take it back to him in Tunstall.' + +While Richard was eating, he heard a soft voice near his ear. + +'Please don't turn around, but tell me the way to Holywood.' + +'Take the road by the old church,' Richard whispered. He did not turn around but he saw the boy leave the inn quietly. + +'Take this message to Tunstall immediately,' said Sir Daniel to Richard. Then he looked around the inn and said, 'Where is that girl - that boy, John?' + +'He left the inn about an hour ago,' said Richard. + +'I must find him!' cried Sir Daniel. He turned to one of his men and said, 'James, take six men and go and find that boy!' + +Richard left the inn with the message. He rode his horse all night and early the next morning he was near a marsh. In the marsh he saw a young boy on his horse, but the horse was not moving. + +'You're the boy from the inn,' said Richard. 'I saw you last night.' + +'Yes, I am,' he said. 'I'm lost and my horse hurt his leg in the marsh. Now he can't move.' + +'The poor horse!' said Richard. 'I'm sorry, but I must kill it. Please get off.' When the boy got off, he killed the horse. + +'Can you help me go to Holywood, Master Shelton?' asked the boy. 'Yes, I can,' said Richard, 'but who are you?' + +'Call me John Matcham,' said the boy. + +'Why do you want to go to Holywood, John?' asked Richard. 'There's a kind friar at Holywood and he'll protect me,' said John. 'Protect you?' asked Richard. + +'Yes, he'll protect me from Sir Daniel Brackley,' said the boy. 'He's a very bad man. He took me from my home and gave me these dirty clothes to wear.' + +'But I know Sir Daniel,' said Richard. 'He's not an evil man.' + +'He's evil and greedy, believe me,' said the boy. 'One day you'll understand why.' He was silent for a moment and then said, 'I heard that you are going to get married soon.' + +'What?' said Richard laughing. 'And who am I going to marry?' + +'Joanna Sedley,' said the boy. 'Sir Daniel planned the marriage.' + +'Oh!' said Richard and his face became red. 'But I don't know her.' + +Suddenly they heard a noise and saw Sir Daniel's seven men on the hill. + +'Sir Daniel's men!' cried the boy. They're looking for me.' + +'Don't worry, I'll take you to Holywood. I promise!' said Richard. 'Get on my horse quickly.' + + + +John smiled at his new friend and together they galloped into the dark forest. + + + + + +CHAPTER THREE + + + +Moat House Castle + + + +Richard and John rode through the dark forest of Tunstall, where the tall trees moved in the wind. They stopped when they found a big, burnt house. 'This house looks like Grimstone,' said Richard. + +'Grimstone?' asked John. 'What's that?' + +'It was Ellis Duckworth's house until Bennet Hatch burnt it down five years ago. It was a very beautiful house before the fire.' + +Behind the house they saw some men sitting around a fire. They were wearing old, dark clothes and each man had a bow and arrow. They were eating and talking like old friends, and some were laughing. + +Suddenly a man up a tall tree cried, I see seven of Sir Daniel's men coming here!' + +'Is Sir Daniel with them?' asked a handsome man. + +'No, I can't see him,' answered the man on the tall tree. + +'Let's attack them!' cried the handsome man. 'Go to your places quickly!' + +'I must go and tell Sir Daniel's men about the attack,' said Richard to John. + +'But why?' asked John, surprised. 'They're looking for me! You promised to take me to Holywood. You can't leave me now!' + +'You're right, John,' said Richard, I'll take you to Holywood.' + +Richard remembered his promise. The men in the forest took their bows and arrows and ran to their places. They started attacking Sir Daniel's men. + +When the attack was over one of the men in the forest saw Richard and wanted to kill him. + +'No, don't!' cried the handsome man. It was Ellis Duckworth, the leader of the Band of the Black Arrow. 'This boy is Harry's son. We mustn't hurt him. Bring him to me immediately! I want to talk to him.' + +Richard heard him and said, 'Oh, no! Let's run away from here, John! Quickly!' + +The two boys ran to the top of a hill and two men followed them. John was tired but he continued running. They soon reached another forest and Richard said, 'No one is following us now - we're safe.' + +'I can't walk or run anymore,' said John. 'I'm very tired.' + +'Tired?' said Richard. 'What kind of a boy are you?' + +John looked at him and started crying. + +'Oh, please don't cry,' said Richard smiling. 'Look, there's a river. Let's go and drink some cold water.' + +Later, when it was dark, they fell asleep under a tree. + +The next morning they woke up and were hungry. But they had nothing to eat. + +Suddenly they heard a noise coming from the forest. They saw a friar walking towards them. His head was covered with a big hood. He stopped near them and took off his hood. + +'Sir Daniel!' cried Richard. 'This is a surprise! What are you doing here? And why are you dressed like a friar?' + +'Richard,' said Sir Daniel, 'we lost the battle against York. It was a terrible battle and most of my men were killed. I am wearing friar's clothes so I can escape. Now I'm going home to Moat House Castle.' + +Sir Daniel gave them both some bread and cheese. Richard and John ate quickly because they were very hungry. + +'I'm surprised to see you two boys together,' said Sir Daniel. 'But now you're both coming with me, do you understand?' + +'Very well, Sir Daniel,' said Richard. + +'Yes, sir,' said John quietly. + +Richard and John followed Sir Daniel and they soon arrived at the castle. Before going in John said, 'Well, Richard, now we must say goodbye.' + +'But why?' said Richard. 'We re both going to Moat House Castle. We're good friends and we can see each other all the time.' + +'You won't see me anymore,' said John sadly. 'And I can't explain why. I must do what Sir Daniel says. But remember, Richard, be careful of Sir Daniel.' + +Richard did not like this mystery and wanted to know more. 'Goodbye, my young friend,' said Richard sadly. + +Moat House Castle was a stone castle with a drawbridge, a moat and four tall towers. There were now only twenty-two men in the castle because a lot of them were killed during the last battle against York. These men were afraid of the Band of the Black Arrow because the band lived in the forest near the castle. + +Richard went to his bedroom and closed the door. It was a big, cold room near the top of the castle. He did not have many things inside, just a large bed, a table and chair. Richard liked the room because it was somewhere he could stay on his own and think. Now he went to sit on the bed so he could think about all the recent events. + +'What's happening at Moat House Castle?' he thought. 'Why can't I see my friend John Matcham anymore? Why is everyone telling me to be careful of Sir Daniel? Who is Joanna Sedley? How can I marry her if I don't know her?' + +Richard was very confused and looked out of the small window in his room. He could see the big forest and he started thinking about the letter from John of the Green Wood. + + + +'The letter says Sir Oliver killed my father,' he thought. 'But Sir Daniel says the letter is not true. He says Ellis Duckworth killed him. Did Ellis Duckworth really kill him? I don't believe Sir Daniel because I think he's hiding something from me. But what? I want to know the truth. I must know the truth and only Sir Daniel can answer my questions!' + + + + + +CHAPTER FOUR + + + +Joanna Sedley + + + +Someone knocked on Richard's door. It was Bennet Hatch. + +'Good afternoon, Richard,' he said, 'Sir Daniel wants to see you immediately.' + +'Good!' said Richard. 'I want to see him too. I have a lot of things to ask him. There are too many mysteries at Moat House Castle - too many things I don't understand. Sir Daniel is not telling me the truth.' + +'Richard,' said Hatch, 'please be careful. Don't ask Sir Daniel certain questions...' + +'What do you mean, Hatch?' asked Richard. + +'Well, you know... certain questions about...' + +'I want answers to my questions!' said Richard angrily, and he went to Sir Daniel's room. Sir Oliver was there. He was sitting in a corner of the room and his face was white. + +'Come in, Richard,' said Sir Daniel. 'Please sit down. You look worried, my boy. Are you still thinking about that letter on the church door?' + +'Yes, and I want some answers,' said Richard. 'My father was killed when I was a little boy. People say that you and Sir Oliver killed him. I want to know the truth.' + +'Oh Richard, do you really think I killed your father?' said Sir Daniel, smiling. 'Your father was my friend. When he died I looked after you all these years and taught you many things. And poor Sir Oliver! He's a priest - a kind, honest man.' + +'Sir Daniel, for many years you used my family's money because I live with you,' said Richard angrily. 'And you'll soon plan my marriage and get a lot of money for it!' + +'How can you say these terrible things?' cried Sir Daniel. 'You're making me very angry! But you're still a boy! We'll talk about this when you're a man. Remember, I did not kill your father - I promise.' + +When Sir Oliver heard the words 'I promise' he jumped in his chair. Richard saw this and understood a lot. + +After he left the room Sir Daniel said, 'The boy asks too many questions - he knows too many things. Put him in the room above the church!' + +'The room above the church?' asked Sir Oliver quietly. + +'Yes, you heard me!' said Sir Daniel. + +Richard went to his room and remembered Hatch's words: 'Don't trust Sir Daniel or Sir Oliver.' + +In the evening one of Sir Daniel's men came to his room and said, 'Follow me, Master Shelton, you'll sleep in another room tonight.' + +'In another room?' asked Richard. + +'Yes, in the room above the church,' said the man. It's nice and big... but it's full of ghosts!' + +'Full of ghosts?' thought Richard. 'What does he mean?' + +Richard sat on the big bed in the new room and he was worried. He did not know that many men were killed in that room. + +'I must leave this castle immediately,' he thought. 'Something bad is happening.' + +Suddenly someone knocked on the door. It was John Matcham. + +'John! I'm happy to see you,' said Richard. + +'Oh, Richard, listen to me!' said John. 'I heard Sir Daniel's men talking. They want to kill you! I want to help you escape. I think there's a secret way out of this room.' + +They started looking for it and found a small trapdoor under a table. + +'This is the secret way out!' said John excitedly. 'We can escape together.' + +Then they heard Sir Daniel's voice: 'Joanna! Joanna, where are you?' + +'Who is Joanna?' asked Richard. + +John looked at Richard and said, I am Joanna!' + +'You!' said Richard, surprised. 'Then you're not a boy - you're a girl. You're Joanna Sedley!' + +'Yes, I'm Joanna Sedley!' She took off her big hat and Richard could see her long blonde hair. She was very pretty. + +'You're a brave girl!' said Richard smiling. 'And you're beautiful, too!' + +They could hear Sir Daniel's voice again: 'Joanna, where are you?' + +'We must escape immediately!' said Joanna. + +They opened the trapdoor and went down the long secret corridor. They came to a big door but it was locked. + +'What can we do now?' asked Joanna. + +'I don't know,' said Richard. 'Perhaps someone will open this door because we're near the church. Let's wait here.' + +They sat down on the stone floor. + +'Are you Sir Daniel's ward too?' asked Richard. + +'Yes, my mother and father are dead and my family was rich. At first Lord Foxham looked after me; he was a good man. Then Sir Daniel took me. After some time Lord Foxham took me back. He wanted me to marry Lord Hamley. When Sir Daniel heard this he decided to kidnap me! He gave me these boy's clothes and said, "You will marry Richard Shelton." Every marriage brings Sir Daniel a lot of money.' + +'I'm happy I met you, Joanna!' said Richard. + +'I am too,' she said. + +Suddenly they realised someone was behind them. It was Bennet Hatch. + +'Hatch, what are you doing here?' asked Richard, surprised. + +'I'm looking for you, Richard,' said Hatch. 'Sir Daniel wants to kill you, but not Joanna. I want to help you both escape. Here is the key to the door.' + +He took an old key from his pocket and opened the big door. 'Now you can escape across the church to the tower. I'll tell Sir Daniel I couldn't find you. Good luck!' + + + + + +CHAPTER FIVE + + + +Ellis Duckworth + + + +Richard and Joanna ran across the church to the castle tower. Richard tied the rope around a big stone. He looked back and saw no one. + +'We must climb down the tower to the moat and swim to the other side,' he said. 'Then we can run to the forest and we'll be free.' + +'Very well,' said Joanna bravely. + +'I'll go first and you can follow me,' said Richard. 'Can you climb down a rope, Joanna?' + +'I'll try!' she said. + +Richard started climbing down the rope. One of Sir Daniel's men on the other tower saw him. + +'Shelton's trying to escape!' he shouted. He shot Richard in the arm with an arrow. Richard fell into the moat and tried to swim to the other side. Arrows were flying from the tower into the moat. + +When Joanna saw Richard falling into the moat, she screamed. One of Sir Daniel's men heard her and took her by the arm. She was Sir Daniel's prisoner again! + +Richard got out of the water and ran into the forest. From there he could see Moat House Castle, but he could not see Joanna. + +'One of Sir Daniel's men probably caught her,' he thought. 'But Sir Daniel won't hurt her because he wants to plan her marriage. I'll come back and rescue her soon.' + +His arm hurt and he could not walk. He fell to the ground on the leaves. + +Ellis Duckworth and another man found Richard the next morning. He was very ill, so they took him to an inn and put him to bed. + +When Richard woke up he said, 'Oh, my arm and head hurt a lot!' + +Ellis Duckworth took his hand and smiled, 'My dear boy, I'm Ellis Duckworth and I was your father's best friend. He was like a brother to me.' + +He looked at the other man and said, 'He's Lawless, one of my best men. Now Richard, please sleep. When you're better you'll tell me your story and we'll help you.' + +The next day Richard was feeling better and he told Ellis Duckworth his long story. + +'I'm happy you're here with us,' said Ellis. 'We re the Band of the Black Arrow, and we want to punish bad people. I know you're brave and loyal, Richard. Together we'll fight and destroy Sir Daniel! And we'll rescue Joanna, too! But first we must find out where she is.' + +A few days later a mysterious messenger took this letter to Moat House Castle. + + + +To Sir Daniel Brackley, + +You are a bad man; you are greedy and dishonest. Now I know you killed my father. One day I will kill you. + +Leave Joanna Sedley alone! I want to marry her soon. + +Richard Shelton + + + +Sir Daniel read the letter and thought, 'That boy is dangerous. I must find him.' + +Many months passed and it was already winter. The house of Lancaster won a lot of battles and became strong and important. York was very weak now. + +The town of Shoreby-on-the-Till was full of Lancaster nobles: Sir Daniel with sixty men, his friend Lord Shoreby with two hundred men, and many others. + +One cold winter night in January three men of the Band of the Black Arrow sat in a dark inn. + +'I don't like this place,' said one man. 'There are too many enemies here.' + +'We re here to help Master Shelton,' said Lawless. + +Suddenly a young man came into the inn. 'Master Shelton,' said Lawless, 'Sir Daniel left the inn a few minutes ago with six men.' + +'Let's follow him,' said Richard. It was dark outside, but they could see Sir Daniel and his men walking towards the sea. + +Near the sea they saw an old lord with some men. He was short and fat. He met Sir Daniel in front of a stone house with a wall around it. + +Richard and his men hid behind some trees and watched the two men. But they could not hear them speak. + +'It's old Lord Shoreby!' thought Richard angrily. 'He's another greedy man.' + +'Tell me, Sir Daniel, how is the young girl?' asked the old lord. 'Is she very beautiful?' + +'Lord Shoreby,' said Sir Daniel, 'Joanna Sedley's young, beautiful and... very rich. She'll be an excellent wife. The Sedley family was very rich and very important. She'll bring you a lot of money.' + +And I'll pay you a lot of money, Sir Daniel, but I want to see her now,' said Lord Shoreby. + +Sir Daniel and Lord Shoreby went into the stone house followed by their men. When they came out, Lord Shoreby was smiling and went home. Sir Daniel and his men went back to the inn. + +'Now we know Joanna is Sir Daniel's prisoner,' said Richard. 'And Lord Shoreby wants to marry her - that greedy old man! We must stop this marriage! I want to look inside of the house. Lawless, come with me, please. The others can wait here.' + +Richard climbed to the top of the stone wall. From there he could see the kitchen window and Joanna. She was sitting at a table with Bennet Hatch's wife, and three of Sir Daniel's men stood behind her. + +'She's very beautiful,' thought Richard. He was happy to see her, but he was angry with Sir Daniel and Lord Shoreby. He climbed down the wall and said to his men, 'I saw Joanna; she's inside. We must rescue her. Let's think of a good plan!' + + + + + +CHAPTER SIX + + + +The Two Friars + + + +Richard and the men of the Black Arrow decided to attack Sir Daniel's house near the sea and rescue Joanna. + +That night Richard and his twenty men climbed over the wall of the house. But Sir Daniel's men attacked them before they could get into the house. Sir Daniel had sixty men and Richard had only twenty. His men fought bravely, but they could not get into the house and rescue Joanna. Many men were hurt and some were killed. They went back to the forest. + +When Sir Daniel heard about the attack he said, 'Shelton wants to rescue Joanna and marry her. We must take her to my castle in Shoreby. She'll be safe there and she'll marry Lord Shoreby in a few days.' + +The next morning Richard and Lawless sat by the fire. + +'If we don't rescue Joanna, she'll have to marry that old lord,' said Richard sadly. 'What can we do?' + +Lawless looked at him and said, 'Perhaps I can help you. Follow me.' + +'Where are we going?' asked Richard. + +'To a secret place,' said Lawless. + +They walked in the snow to a small den under a big tree. Inside the den there was a table and a wooden box. + +'This is my secret den,' said Lawless. + +'Your secret den!' said Richard, surprised. It's very small.' + +Lawless opened the wooden box and took out a friar's robe. It was old and brown. Then he took out another one. + +'What are these?' asked Richard. + +'They're two friar's robes. Let's put them on and everyone will think we're friars.' + +'But why?' asked Richard, confused. + +'With these robes no one will recognise us!' said Lawless. 'We can easily get into Sir Daniel's castle in Shoreby. Remember, no one stops a friar.' + +'Sir Daniel's castle in Shoreby - but why?' asked Richard. + +'Master Shelton!' cried Lawless. 'Joanna is now in his castle and she'll soon marry old Lord Shoreby! Now do you understand?' + +Richard was very surprised. + +'How do you know this?' he asked. + +'Young man, I'm Lawless... and I'm much older than you. I know a lot of things you don't know.' + +'But how can we stop this marriage?' asked Richard. + +'We'll think of a plan,' said Lawless. 'Now put on the friar's robe.' + +Richard put on the robe and asked, 'How do I look?' + +'Not bad, but I must do something to your face now,' answered Lawless. + +He took some dark pencils from the box and drew a moustache and a small beard on Richard's young face. + +'Perfect!' he said. 'Now you look like a friar. Remember to keep your hood on and no one will recognise you.' + +Lawless put on the other robe and they left the den. + +When they got to Shoreby they went to the castle. There were a lot of people at the castle: rich gentlemen with their ladies, soldiers, merchants, musicians and acrobats. + +The two friars went to a soldier and said, 'We're here to visit Joanna Sedley.' + +'Her room is on the second floor,' said the soldier. + +The two friars went to the second floor and found Joanna's room. + +'I'll wait outside,' said Lawless. + +Richard entered Joanna's room and took off his hood. + +'Joanna!' he said softly. 'It's me, Richard.' + +She ran to him and they hugged. + +'Oh, Richard,' Joanna said, 'I'm happy to see you! What are you doing here?' + +'I'm here with a friend to rescue you,' said Richard. + +'But how?' Joanna asked. 'I'm Sir Daniel's prisoner and I have to marry Lord Shoreby tomorrow morning! I'm so unhappy because I don't want to marry him.' + +'You won't marry that horrible old man!' said Richard. 'I promise, Joanna. I want to marry you.' + +He put on his hood and left the room quietly. He and Lawless went to the church to think of a plan. But Richard met Sir Oliver in the church. + +'Richard Shelton!' he said, surprised. 'Sir Daniel is looking for you. You're in great danger.' + +'I'm here to stop Joanna's marriage,' said Richard. 'I'm not afraid of Sir Daniel.' + +'You can't stop this marriage,' said the priest, 'because Sir Daniel will kill you. You must stay in this church until tomorrow morning and then leave. If you try to escape, I'll call the soldiers.' + +Richard and Lawless could not move. + +At nine o'clock the next morning there were a lot of people in the church. Richard and Lawless were there, too. Joanna was wearing a beautiful white dress and had flowers in her head. But she was pale and sad. Old Lord Shoreby was wearing his best clothes. + +Joanna and Lord Shoreby stood in front of the priest. Ellis Duckworth and his men were hiding on the stairs of the church tower. Suddenly a black arrow flew across the church and killed Lord Shoreby! + +Joanna and the people in the church screamed. Sir Daniel and his men took Joanna away immediately. Richard and Lawless were angry but they could do nothing. They watched Joanna leave with Sir Daniel. + + + + + +CHAPTER SEVEN + + + +The Victory of York + + + +Richard and Lawless returned to the forest. That night Ellis Duckworth's men sat around the fire. + +'There's going to be an important battle tomorrow between the houses of Lancaster and York,' said Duckworth to his men. 'Were going to attack Shoreby Castle. This time York will win!' + +'Hurrah!' cried the men. + +'And we're going to find my enemy, Sir Daniel. Remember, there's a black arrow waiting for him and his good friends, Bennet Hatch and Sir Oliver Oates!' + +'We'll find them!' cried the men. + +'Richard,' said Duckworth, 'go and meet the Duke of Gloucester at St Brigid's Cross tomorrow morning. Take him this important message:' + + + + + +Dear Richard, Duke of Gloucester, + + + +My twenty men will meet your soldiers outside Shoreby Castle before the battle. We will fight together and win! + +Ellis Duckworth + + + +Very early the next morning Richard rode to St Brigid's Cross. It was a cold morning and there was a lot of snow on the road. When he got there he saw a young knight dressed in armour on a big black horse. The white rose of the house of York was on his shield. He was alone and he was fighting eight soldiers. He was a good fighter and killed three soldiers. + +'I can help you, sir,' cried Richard. He and the knight fought together and the fight was soon over. + +The young knight was surprised. He turned to Richard and said, 'Thank you for your help. You're a good fighter and you saved my life! Who are your?' + +'I'm Richard Shelton and I'm looking for the Duke of Gloucester.' + +'Well, you found him!' said the knight. 'I'm Richard, Duke of Gloucester.' + +'Here's a message from Ellis Duckworth,' said Richard, giving him the letter. + +The Duke read the letter and said, 'Good! I need more brave men for this battle. Duckworth is a loyal friend and together we'll win.' + +Soon the Duke's soldiers arrived. They were carrying flags with the white rose of York. + +'Were ready,' he cried. 'Let's attack Shoreby Castle!' + +Many of the soldiers at Shoreby Castle were still sleeping when the Duke attacked. Hundreds of soldiers fought in a long battle and many were killed. At the end of the battle there was a fire and Shoreby Castle was almost destroyed. The house of York won the battle and Sir Daniel escaped with Joanna, Bennet Hatch and two men. + +The Duke of Gloucester was pleased with the victory. He went to Richard and said, 'You're a brave young man and you fought well. Kneel down, Richard, I want to knight you!' + +Richard knelt down in front of the Duke and became 'Sir Richard'. This was a great honour for him. + +The next day Sir Richard left Shoreby and started looking for Joanna. He knew she was with Sir Daniel. He travelled all day and in the evening he saw a small fire on a hill. + +'Perhaps that's Sir Daniel's fire,' he thought. He moved silently through the trees and got closer. He saw Sir Daniel, Bennet Hatch and a young boy sitting near the fire. They were eating and talking. + +'Joanna is dressed as John Matcham again!' thought Richard. 'Sir Daniel is very clever!' + +Richard hid behind a big tree and watched them. It was obvious that Joanna was very sad. + +He waited until they were finally asleep and then he quietly went up to Joanna. + +'Joanna,' he whispered in her ear, 'wake up.' + +She woke up and smiled. + +'We must be very quiet,' whispered Sir Richard. 'Get up slowly and follow me.' + +They moved away very quietly through the trees. + +They got on Sir Richard's horse and went into the forest. That night they slept at Ellis Duckworth's camp near Holywood. + +When Joanna woke up she said, 'This is like a dream, Richard. We're together again!' + +'Yes, and tomorrow we can get married!' Sir Richard said excitedly. 'I'm going to talk to the kind friar of Holywood Abbey this morning.' + +'I'm very happy, Richard!' said Joanna. + +Sir Richard woke up very early on the day of his marriage. He was the happiest man in the world. + +He put on his best clothes and took a short walk in the forest. + +Soon he saw a friar walking towards him. As the friar came closer he recognised him - it was Sir Daniel! He put his hand on his sword because he was ready to fight. + +'I'm not here to fight you,' said Sir Daniel sadly. 'My men and I fought bravely, but we lost the battle against the house of York. It was a long, terrible battle. And now I have nothing! I lost my castle, my men, my money, my jewels... I lost everything. Now I must escape to France where I still have some friends. I hope they can help me.' + +'Go to France, Sir Daniel, and don't come back!' said Sir Richard angrily. + +Sir Daniel turned around and continued walking in the forest. But after a minute a black arrow flew through the morning air and hit him in the heart. He fell to the ground and Sir Richard ran to his side. + +'Richard,' he said quietly. 'Is the arrow... black?' + +'Yes, it's black,' said Richard. + +Sir Daniel looked at him for the last time and died. + +'I killed him,' said a voice in the forest. It was Ellis Duckworth. 'And yesterday I killed Bennet Hatch.' He walked out of the forest and stood by Richard. + +'You killed all of your enemies except one,' said Richard. + +'Yes, Sir Oliver is still alive,' said Duckworth. + +'Don't kill him, Ellis,' said Richard. 'Let's live in peace.' + +Duckworth thought for a moment. He looked at the body of Sir Daniel and said, 'You're right, Richard, I want to live in peace. I don't want to fight or kill anymore. The Band of the Black Arrow doesn't exist anymore.' + +At nine o'clock that morning Richard and Joanna finally got married at Holywood Abbey. It was a beautiful wedding and everyone was happy. Richard, Joanna, Ellis Duckworth, the men of the Black Arrow and the Duke of Gloucester and his soldiers celebrated with a dinner. + +Richard and Joanna lived a happy, peaceful life in the forest, far from wars and battles. + + + + + +- THE END - + +Hope you have enjoyed the reading! + +Come back to http://english-e-books.net/ to find more fascinating and exciting stories! + + + + + diff --git a/examples/documentation/sample-data/convert_pdf_document/input/sample_ua.pdf b/examples/documentation/sample-data/convert_pdf_document/input/sample_ua.pdf new file mode 100644 index 00000000..08c0267a Binary files /dev/null and b/examples/documentation/sample-data/convert_pdf_document/input/sample_ua.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/fill_barcode_fields_in.pdf b/examples/documentation/sample-data/facades/form/input/fill_barcode_fields_in.pdf new file mode 100644 index 00000000..e66a5f17 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/fill_barcode_fields_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/fill_check_box_fields_in.pdf b/examples/documentation/sample-data/facades/form/input/fill_check_box_fields_in.pdf new file mode 100644 index 00000000..f25d71d5 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/fill_check_box_fields_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/fill_fields_by_name_and_value_in.pdf b/examples/documentation/sample-data/facades/form/input/fill_fields_by_name_and_value_in.pdf new file mode 100644 index 00000000..9667b002 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/fill_fields_by_name_and_value_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/fill_list_box_fields_in.pdf b/examples/documentation/sample-data/facades/form/input/fill_list_box_fields_in.pdf new file mode 100644 index 00000000..81515e83 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/fill_list_box_fields_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/fill_radio_button_fields_in.pdf b/examples/documentation/sample-data/facades/form/input/fill_radio_button_fields_in.pdf new file mode 100644 index 00000000..01a8da3d Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/fill_radio_button_fields_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/fill_text_fields_in.pdf b/examples/documentation/sample-data/facades/form/input/fill_text_fields_in.pdf new file mode 100644 index 00000000..b615bad6 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/fill_text_fields_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/get_field_facades_in.pdf b/examples/documentation/sample-data/facades/form/input/get_field_facades_in.pdf new file mode 100644 index 00000000..1cd33d96 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/get_field_facades_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/get_field_values_in.pdf b/examples/documentation/sample-data/facades/form/input/get_field_values_in.pdf new file mode 100644 index 00000000..1cd33d96 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/get_field_values_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/get_radio_button_options_in.pdf b/examples/documentation/sample-data/facades/form/input/get_radio_button_options_in.pdf new file mode 100644 index 00000000..0dfb4fb4 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/get_radio_button_options_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/get_required_field_names_in.pdf b/examples/documentation/sample-data/facades/form/input/get_required_field_names_in.pdf new file mode 100644 index 00000000..75d7fe9b Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/get_required_field_names_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/get_rich_text_values_in.pdf b/examples/documentation/sample-data/facades/form/input/get_rich_text_values_in.pdf new file mode 100644 index 00000000..e673b1ff Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/get_rich_text_values_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/get_rich_text_values_in_data.xml b/examples/documentation/sample-data/facades/form/input/get_rich_text_values_in_data.xml new file mode 100644 index 00000000..00f5ed90 --- /dev/null +++ b/examples/documentation/sample-data/facades/form/input/get_rich_text_values_in_data.xml @@ -0,0 +1,12 @@ + +YellowtownAlexanderGreenfieldAspose.PDF for Python via .NET, PDF Processing API that allows the developers to work with PDF documents without needing Microsoft Office® or Adobe Acrobat Automation. \ No newline at end of file diff --git a/examples/documentation/sample-data/facades/form/input/resolve_full_field_names_in.pdf b/examples/documentation/sample-data/facades/form/input/resolve_full_field_names_in.pdf new file mode 100644 index 00000000..e673b1ff Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/resolve_full_field_names_in.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/sample_form.fdf b/examples/documentation/sample-data/facades/form/input/sample_form.fdf new file mode 100644 index 00000000..ea61cbc0 --- /dev/null +++ b/examples/documentation/sample-data/facades/form/input/sample_form.fdf @@ -0,0 +1,7 @@ +%FDF-1.2 %ÈÈÈÈÈÈÈ 1 0 obj +<><><><><>]/Annots[]>>>> +endobj + +trailer +<> +%%EOF \ No newline at end of file diff --git a/examples/documentation/sample-data/facades/form/input/sample_form.json b/examples/documentation/sample-data/facades/form/input/sample_form.json new file mode 100644 index 00000000..9ce8ee27 --- /dev/null +++ b/examples/documentation/sample-data/facades/form/input/sample_form.json @@ -0,0 +1,26 @@ +[ + { + "Name": "First Name", + "PageIndex": 1, + "Flags": 4, + "Value": "Thomas" + }, + { + "Name": "Last Name", + "PageIndex": 1, + "Flags": 4, + "Value": "Jacksonn" + }, + { + "Name": "City", + "PageIndex": 1, + "Flags": 4, + "Value": "Yellowville" + }, + { + "Name": "Country", + "PageIndex": 1, + "Flags": 4, + "Value": "Kenya" + } +] \ No newline at end of file diff --git a/examples/documentation/sample-data/facades/form/input/sample_form.pdf b/examples/documentation/sample-data/facades/form/input/sample_form.pdf new file mode 100644 index 00000000..1cd33d96 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/sample_form.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/sample_form.xfdf b/examples/documentation/sample-data/facades/form/input/sample_form.xfdf new file mode 100644 index 00000000..1fde6c63 --- /dev/null +++ b/examples/documentation/sample-data/facades/form/input/sample_form.xfdf @@ -0,0 +1,17 @@ + + + + + Alexander + + + Greenfield + + + Yellowtown + + + Redland + + + \ No newline at end of file diff --git a/examples/documentation/sample-data/facades/form/input/sample_form.xml b/examples/documentation/sample-data/facades/form/input/sample_form.xml new file mode 100644 index 00000000..42929292 --- /dev/null +++ b/examples/documentation/sample-data/facades/form/input/sample_form.xml @@ -0,0 +1,15 @@ + + + + Thomas + + + Andersson + + + Seattle + + + Brownland + + \ No newline at end of file diff --git a/examples/documentation/sample-data/facades/form/input/sample_form_image.jpg b/examples/documentation/sample-data/facades/form/input/sample_form_image.jpg new file mode 100644 index 00000000..6f8d5bdb Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/sample_form_image.jpg differ diff --git a/examples/documentation/sample-data/facades/form/input/sample_form_image.pdf b/examples/documentation/sample-data/facades/form/input/sample_form_image.pdf new file mode 100644 index 00000000..3f54c2b5 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/sample_form_image.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/sample_form_new.pdf b/examples/documentation/sample-data/facades/form/input/sample_form_new.pdf new file mode 100644 index 00000000..5d7ae0b1 Binary files /dev/null and b/examples/documentation/sample-data/facades/form/input/sample_form_new.pdf differ diff --git a/examples/documentation/sample-data/facades/form/input/sample_form_xfa.xml b/examples/documentation/sample-data/facades/form/input/sample_form_xfa.xml new file mode 100644 index 00000000..b8d1c80f --- /dev/null +++ b/examples/documentation/sample-data/facades/form/input/sample_form_xfa.xml @@ -0,0 +1,60 @@ + + + +
+ 123 + + Aspose + + + + + + + + + + + + + + + + + +
+ + + + + + + + 0 + + 0.00000000 + 0 + + 0.00000000 + 0 + + 0.00000000 + + +