Author: lehmi Date: Sat Sep 30 15:27:32 2023 New Revision: 1912629 URL: http://svn.apache.org/viewvc?rev=1912629&view=rev Log: PDFBOX-5687: remove obsolete KCMS option
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java?rev=1912629&r1=1912628&r2=1912629&view=diff ============================================================================== --- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java (original) +++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java Sat Sep 30 15:27:32 2023 @@ -67,27 +67,6 @@ public final class PDICCBased extends PD // reasons with LittleCMS (LCMS), see PDFBOX-4309 // WARNING: do not activate this in a conforming reader private boolean useOnlyAlternateColorSpace = false; - private static final boolean IS_KCMS; - - static - { - String cmmProperty = System.getProperty("sun.java2d.cmm"); - boolean result = false; - if ("sun.java2d.cmm.kcms.KcmsServiceProvider".equals(cmmProperty)) - { - try - { - Class.forName("sun.java2d.cmm.kcms.KcmsServiceProvider"); - result = true; - } - catch (ClassNotFoundException e) - { - // KCMS not available - } - } - // else maybe KCMS was available, but not wished - IS_KCMS = result; - } /** * Creates a new ICC color space with an empty stream. @@ -229,17 +208,12 @@ public final class PDICCBased extends PD // do things that trigger a ProfileDataException // or CMMException due to invalid profiles, see PDFBOX-1295 and PDFBOX-1740 (ü-file) // or ArrayIndexOutOfBoundsException, see PDFBOX-3610 - // also triggers a ProfileDataException for PDFBOX-3549 with KCMS - /// also triggers a ProfileDataException for PDFBOX-3549 with KCMS // also triggers "CMMException: LCMS error 13" for PDFBOX-5563 with LCMS, but // calling "new ComponentColorModel" doesn't awtColorSpace.toRGB(new float[numOfComponents]); - if (!IS_KCMS) - { - // PDFBOX-4015: this one triggers "CMMException: LCMS error 13" with LCMS - new ComponentColorModel(awtColorSpace, false, false, - Transparency.OPAQUE, DataBuffer.TYPE_BYTE); - } + // PDFBOX-4015: this one triggers "CMMException: LCMS error 13" with LCMS + new ComponentColorModel(awtColorSpace, false, false, Transparency.OPAQUE, + DataBuffer.TYPE_BYTE); } } catch (ProfileDataException | CMMException | IllegalArgumentException | Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java?rev=1912629&r1=1912628&r2=1912629&view=diff ============================================================================== --- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java (original) +++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PDFRenderer.java Sat Sep 30 15:27:32 2023 @@ -24,10 +24,6 @@ import java.awt.GraphicsDevice; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.IOException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; @@ -48,8 +44,6 @@ import org.apache.pdfbox.pdmodel.interac */ public class PDFRenderer { - private static final Log LOG = LogFactory.getLog(PDFRenderer.class); - protected final PDDocument document; // TODO keep rendering state such as caches here @@ -66,8 +60,6 @@ public class PDFRenderer private BufferedImage pageImage; - private static boolean kcmsLogged = false; - private float imageDownscalingOptimizationThreshold = 0.5f; private final PDPageTree pageTree; @@ -80,12 +72,6 @@ public class PDFRenderer { this.document = document; this.pageTree = document.getPages(); - - if (!kcmsLogged) - { - suggestKCMS(); - kcmsLogged = true; - } } /** @@ -579,56 +565,4 @@ public class PDFRenderer return pageImage; } - private static void suggestKCMS() - { - String cmmProperty = System.getProperty("sun.java2d.cmm"); - if (!"sun.java2d.cmm.kcms.KcmsServiceProvider".equals(cmmProperty)) - { - try - { - // Make sure that class exists - Class.forName("sun.java2d.cmm.kcms.KcmsServiceProvider"); - - String version = System.getProperty("java.version"); - if (version == null || - isGoodVersion(version, "1.8.0_(\\d+)", 191) || - isGoodVersion(version, "9.0.(\\d+)", 4)) - { - return; - } - LOG.info("Your current java version is: " + version); - LOG.info("To get higher rendering speed on old java 1.8 or 9 versions,"); - LOG.info(" update to the latest 1.8 or 9 version (>= 1.8.0_191 or >= 9.0.4),"); - LOG.info(" or"); - LOG.info(" use the option -Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider"); - LOG.info(" or call System.setProperty(\"sun.java2d.cmm\", \"sun.java2d.cmm.kcms.KcmsServiceProvider\")"); - } - catch (ClassNotFoundException e) - { - // KCMS not available - } - } - } - - private static boolean isGoodVersion(String version, String regex, int min) - { - Matcher matcher = Pattern.compile(regex).matcher(version); - if (matcher.matches() && matcher.groupCount() >= 1) - { - try - { - int v = Integer.parseInt(matcher.group(1)); - if (v >= min) - { - // LCMS no longer bad - return true; - } - } - catch (NumberFormatException ex) - { - return true; - } - } - return false; - } }