Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

PDFEncryptionOption.java 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one or more
  3. * contributor license agreements. See the NOTICE file distributed with
  4. * this work for additional information regarding copyright ownership.
  5. * The ASF licenses this file to You under the Apache License, Version 2.0
  6. * (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. /* $Id$ */
  18. package org.apache.fop.render.pdf;
  19. import org.apache.fop.render.RendererConfigOption;
  20. public enum PDFEncryptionOption implements RendererConfigOption {
  21. /**
  22. * PDF encryption length parameter: must be a multiple of 8 between 40 and 128,
  23. * datatype: int, default: 128
  24. */
  25. ENCRYPTION_LENGTH("encryption-length", 128),
  26. /**
  27. * PDF encryption parameter: Forbids printing to high quality, datatype: Boolean or
  28. * "true"/"false", default: false
  29. */
  30. NO_PRINTHQ("noprinthq", 40),
  31. /**
  32. * PDF encryption parameter: Forbids assembling document, datatype: Boolean or
  33. * "true"/"false", default: false
  34. */
  35. NO_ASSEMBLEDOC("noassembledoc", false),
  36. /**
  37. * PDF encryption parameter: Forbids extracting text and graphics, datatype: Boolean
  38. * or "true"/"false", default: false
  39. */
  40. NO_ACCESSCONTENT("noaccesscontent", false),
  41. /**
  42. * PDF encryption parameter: Forbids filling in existing interactive forms, datatype:
  43. * Boolean or "true"/"false", default: false
  44. */
  45. NO_FILLINFORMS("nofillinforms", false),
  46. /**
  47. * PDF encryption parameter: Forbids annotations, datatype: Boolean or "true"/"false",
  48. * default: false
  49. */
  50. NO_ANNOTATIONS("noannotations", false),
  51. /**
  52. * PDF encryption parameter: Forbids printing, datatype: Boolean or "true"/"false",
  53. * default: false
  54. */
  55. NO_PRINT("noprint", false),
  56. /**
  57. * PDF encryption parameter: Forbids copying content, datatype: Boolean or "true"/"false",
  58. * default: false
  59. */
  60. NO_COPY_CONTENT("nocopy", false),
  61. /**
  62. * PDF encryption parameter: Forbids editing content, datatype: Boolean or "true"/"false",
  63. * default: false
  64. */
  65. NO_EDIT_CONTENT("noedit", false),
  66. /** PDF encryption parameter: user password, datatype: String, default: "" */
  67. USER_PASSWORD("user-password", ""),
  68. /** PDF encryption parameter: owner password, datatype: String, default: "" */
  69. OWNER_PASSWORD("owner-password", ""),
  70. /**
  71. * PDF encryption parameter: encrypts Metadata, datatype: Boolean or "true"/"false", default: true
  72. */
  73. ENCRYPT_METADATA("encrypt-metadata", true);
  74. public static final String ENCRYPTION_PARAMS = "encryption-params";
  75. private final String name;
  76. private final Object defaultValue;
  77. private PDFEncryptionOption(String name, Object defaultValue) {
  78. this.name = name;
  79. this.defaultValue = defaultValue;
  80. }
  81. private PDFEncryptionOption(String name) {
  82. this(name, null);
  83. }
  84. public String getName() {
  85. return name;
  86. }
  87. public Object getDefaultValue() {
  88. return defaultValue;
  89. }
  90. }