1、使用PDFBox处理PDF文档PDF全称Portable Document Format,是Adobe公司开发的电子文件格式。这种文件格式与操作系统平台无关,可以在Windows、Unix或Mac OS等操作系统上通用。 PDF文件格式将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。如果要抽取其中的文本信息,需要根据它的文件格式来进行解析。幸好目前已经有不少工具能帮助我们做这些事情。 2、PDFBox的下载最常见的一种PDF文本抽取工具就是PDFBox了,访问网址http://sourceforge.net/projects/pdfbox/,进入如图7-1所示的下载界面。读者可以在该网页下载其最新的版本。本书采用的是PDFBox-0.7.3版本。PDFBox是一个开源的Java PDF库,这个库允许你访问PDF文件的各项信息。在接下来的例子中,将演示如何使用PDFBox提供的API,从一个PDF文件中提取出文本信息。 3、在Eclipse中配置以下是在Eclipse中创建工程,并建立解析PDF文件的工具类的过程。 (1)在Eclipse的workspace中创建一个普通的Java工程:ch7。 (2)把下载的PDFBox-0.7.3.zip解压。 (3)进入external目录下,可以看到,这里包括了PDFBox所有用到的外部包。复制下面的Jar包到工程ch7的lib目录下(如还未建立lib目录,则先创建一个)。 l bcmail-jdk14-132.jar l bcprov-jdk14-132.jar l checkstyle-all-4.2.jar l FontBox-0.1.0-dev.jar l lucene-core-2.0.0.jar 然后再从PDFBox的lib目录下,复制PDFBox-0.7.3.jar到工程的lib目录下。 (4)在工程上单击右键,在弹出的快捷菜单中选择“Build Path->Config Build Path->Add Jars”命令,把工程lib目录下面的包都加入工程的Build Path。 4、使用PDFBox解析PDF内容在刚刚创建的Eclipse工程中,创建一个ch7.pdfbox包,并创建一个PdfboxTest类。该类包含一个getText方法,用于从一个PDF中获取文本信息,其代码如下。 import java.io.BufferedWriter;import java.io.FileInputStream; import java.io.FileWriter; import org.pdfbox.pdfparser.PDFParser; import org.pdfbox.util.PDFTextStripper; public class PdfParser { /** * @param args */ // TODO 自动生成方法存根 public static void main(String[] args) throws Exception{ FileInputStream fis = new FileInputStream("F:\\task\\lerman-atem2001.pdf"); BufferedWriter writer = new BufferedWriter(new FileWriter("F:\\task\\pdf_change.txt")); PDFParser p = new PDFParser(fis); p.parse(); PDFTextStripper ts = new PDFTextStripper(); String s = ts.getText(p.getPDDocument()); writer.write(s); System.out.println(s); fis.close(); writer.close(); } } |

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25



26

27



28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45



46



47

48

49

50

51

52



53

54

55

56

57



58

59

60



61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76



77



78

79

80



81

82

83

84

85

86


87

88

89

90



91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

26

27



28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45



46



47

48

49

50

51

52



53

54

55

56

57



58

59

60



61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76



77



78

79

80



81

82

83

84

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45



46



47

48

49

50

51

52



53

54

55

56

57



58

59

60



61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76


46



47

48

49

50

51

52



53

54

55

56

57


47

48

49

50

51

52



53

54

55

56

53

54

55

56

57



58

59

60



61

62

63

58

59

60



61

62

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76



77



78

79

80



81

82

83

77



78

79

78

79

80



81

82

81

82

83

84

85

86


87

88

89

87

88

89

90



91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

26

27



28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45



46



47

48

49

50

51

52



53

54

55

56

57



58

59

60



61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76



77



78

79

80



81

82

83

84

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45



46



47

48

49

50

51

52



53

54

55

56

57



58

59

60



61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76


46



47

48

49

50

51

52



53

54

55

56

57


47

48

49

50

51

52



53

54

55

56

53

54

55

56

57



58

59

60



61

62

63

58

59

60



61

62

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76



77



78

79

80



81

82

83

77



78

79

78

79

80



81

82

81

82

83

84

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45



46



47

48

49

50

51

52



53

54

55

56

57



58

59

60



61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76


46



47

48

49

50

51

52



53

54

55

56

57


47

48

49

50

51

52



53

54

55

56

53

54

55

56

57



58

59

60



61

62

63

58

59

60



61

62

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76


46



47

48

49

50

51

52



53

54

55

56

57


47

48

49

50

51

52



53

54

55

56

53

54

55

56

57


47

48

49

50

51

52



53

54

55

56

53

54

55

56

53

54

55

56

57



58

59

60



61

62

63

58

59

60



61

62

61

62

63

58

59

60



61

62

61

62

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76



77



78

79

80



81

82

83

77



78

79

78

79

80



81

82

81

82

83

77



78

79

78

79

78

79

80



81

82

81

82

81

82

83

84

85

86


87

88

89

87

88

89

87

88

89

90



91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121



122

123

124

122

123

124

122

123

124

125

126


127

128

127

128

127

128

129



130

131

132



133

134

135



136

137

130

131

132



133

134

135


133

134

135



136

137

136

137

130

131

132



133

134

135


133

134

135


133

134

135



136

137

136

137

136

137

138

139

140
