You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

PDFEncryptionOption.java 3.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. * default value 40, datatype: int, default: 40
  24. */
  25. ENCRYPTION_LENGTH("encryption-length", 40),
  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. public static final String ENCRYPTION_PARAMS = "encryption-params";
  71. private final String name;
  72. private final Object defaultValue;
  73. private PDFEncryptionOption(String name, Object defaultValue) {
  74. this.name = name;
  75. this.defaultValue = defaultValue;
  76. }
  77. private PDFEncryptionOption(String name) {
  78. this(name, null);
  79. }
  80. public String getName() {
  81. return name;
  82. }
  83. public Object getDefaultValue() {
  84. return defaultValue;
  85. }
  86. }