You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/06/10 18:43:51 UTC
svn commit: r1878723 - in /pdfbox/branches/2.0:
fontbox/src/main/java/org/apache/fontbox/cmap/
fontbox/src/main/java/org/apache/fontbox/ttf/
pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/
pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/co...
Author: tilman
Date: Wed Jun 10 18:43:51 2020
New Revision: 1878723
URL: http://svn.apache.org/viewvc?rev=1878723&view=rev
Log:
PDFBOX-4869: buffer reading of resources to improve speed, by Alfred Faltiska
Modified:
pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java
pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/OpenTypeScript.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripper.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/util/Version.java
Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java?rev=1878723&r1=1878722&r2=1878723&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/cmap/CMapParser.java Wed Jun 10 18:43:51 2020
@@ -16,6 +16,7 @@
*/
package org.apache.fontbox.cmap;
+import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -446,12 +447,7 @@ public class CMapParser
*/
protected InputStream getExternalCMap(String name) throws IOException
{
- InputStream is = getClass().getResourceAsStream(name);
- if (is == null)
- {
- throw new IOException("Error: Could not find referenced cmap stream " + name);
- }
- return is;
+ return new BufferedInputStream(getClass().getResourceAsStream(name));
}
private Object parseNextToken(PushbackInputStream is) throws IOException
Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/OpenTypeScript.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/OpenTypeScript.java?rev=1878723&r1=1878722&r2=1878723&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/OpenTypeScript.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/OpenTypeScript.java Wed Jun 10 18:43:51 2020
@@ -16,6 +16,7 @@
*/
package org.apache.fontbox.ttf;
+import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -221,15 +222,8 @@ public final class OpenTypeScript
InputStream input = null;
try
{
- input = OpenTypeScript.class.getResourceAsStream(path);
- if (input != null)
- {
- parseScriptsFile(input);
- }
- else
- {
- LOG.warn("Could not find '" + path + "', mirroring char map will be empty: ");
- }
+ input = new BufferedInputStream(OpenTypeScript.class.getResourceAsStream(path));
+ parseScriptsFile(input);
}
catch (IOException e)
{
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java?rev=1878723&r1=1878722&r2=1878723&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontMapperImpl.java Wed Jun 10 18:43:51 2020
@@ -16,6 +16,7 @@
*/
package org.apache.pdfbox.pdmodel.font;
+import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
@@ -112,11 +113,8 @@ final class FontMapperImpl implements Fo
try
{
String ttfName = "/org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf";
- InputStream ttfStream = FontMapper.class.getResourceAsStream(ttfName);
- if (ttfStream == null)
- {
- throw new IOException("Error loading resource: " + ttfName);
- }
+ InputStream ttfStream =
+ new BufferedInputStream(FontMapper.class.getResourceAsStream(ttfName));
TTFParser ttfParser = new TTFParser();
lastResortFont = ttfParser.parse(ttfStream);
}
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java?rev=1878723&r1=1878722&r2=1878723&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/Standard14Fonts.java Wed Jun 10 18:43:51 2020
@@ -17,6 +17,7 @@
package org.apache.pdfbox.pdmodel.font;
+import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collections;
@@ -113,11 +114,8 @@ final class Standard14Fonts
}
String resourceName = "/org/apache/pdfbox/resources/afm/" + afmName + ".afm";
- InputStream afmStream = PDType1Font.class.getResourceAsStream(resourceName);
- if (afmStream == null)
- {
- throw new IOException(resourceName + " not found");
- }
+ InputStream afmStream =
+ new BufferedInputStream(PDType1Font.class.getResourceAsStream(resourceName));
try
{
AFMParser parser = new AFMParser(afmStream);
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java?rev=1878723&r1=1878722&r2=1878723&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDDeviceCMYK.java Wed Jun 10 18:43:51 2020
@@ -25,6 +25,7 @@ import java.awt.color.ICC_ColorSpace;
import java.awt.color.ICC_Profile;
import java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
+import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -96,11 +97,7 @@ public class PDDeviceCMYK extends PDDevi
String name = "/org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc";
- InputStream is = PDDeviceCMYK.class.getResourceAsStream(name);
- if (is == null)
- {
- throw new IOException("Error loading resource: " + name);
- }
+ InputStream is = new BufferedInputStream(PDDeviceCMYK.class.getResourceAsStream(name));
ICC_Profile iccProfile = ICC_Profile.getInstance(is);
is.close();
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripper.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripper.java?rev=1878723&r1=1878722&r2=1878723&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripper.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/text/PDFTextStripper.java Wed Jun 10 18:43:51 2020
@@ -16,6 +16,7 @@
*/
package org.apache.pdfbox.text;
+import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -1842,17 +1843,10 @@ public class PDFTextStripper extends Leg
static
{
String path = "/org/apache/pdfbox/resources/text/BidiMirroring.txt";
- InputStream input = PDFTextStripper.class.getResourceAsStream(path);
+ InputStream input = new BufferedInputStream(PDFTextStripper.class.getResourceAsStream(path));
try
{
- if (input != null)
- {
- parseBidiFile(input);
- }
- else
- {
- LOG.warn("Could not find '" + path + "', mirroring char map will be empty: ");
- }
+ parseBidiFile(input);
}
catch (IOException e)
{
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/util/Version.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/util/Version.java?rev=1878723&r1=1878722&r2=1878723&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/util/Version.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/util/Version.java Wed Jun 10 18:43:51 2020
@@ -17,6 +17,7 @@
package org.apache.pdfbox.util;
+import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
@@ -44,11 +45,7 @@ public final class Version
InputStream is = null;
try
{
- is = Version.class.getResourceAsStream(PDFBOX_VERSION_PROPERTIES);
- if (is == null)
- {
- return null;
- }
+ is = new BufferedInputStream(Version.class.getResourceAsStream(PDFBOX_VERSION_PROPERTIES));
Properties properties = new Properties();
properties.load(is);
return properties.getProperty("pdfbox.version", null);