PdfExtractor

遗产: java.lang.Object, com.aspose.pdf.facades.IVentureLicenseTarget, com.aspose.pdf.facades.Facade

public final class PdfExtractor extends Facade

用于从 PDF 文档中提取图像和文本的类。

构造函数

构造函数描述
PdfExtractor()初始化新的 PdfExtractor 对象。
PdfExtractor(IDocument document)在文档的基础上初始化新的 PdfExtractor 对象。

方法

方法描述
bindPdf(IDocument srcDoc)初始化门面。
bindPdf(InputStream inputStream)从流中绑定 PDF 文档。
bindPdf(InputStream srcStream, String password)初始化门面。
bindPdf(String inputFile)绑定输入 PDF 文件。
bindPdf(String srcFile, String password)初始化门面。
close()处理与外观绑定的文档。
dispose()处理门面。
equals(Object arg0)
extractAttachment()从 Pdf 文档中提取附件。
extractAttachment(String attachmentFileName)按附件名称将附件提取到 PDF 文件。
extractImage()从 PDF 文件中提取图像。
extractMarkedContentAsImages(Page page, String path)获取所有标记内容容器作为单独的图像。
extractText()从 Pdf 文档中提取文本。
extractText(Charset encoding)使用指定的编码从 Pdf 文档中提取文本。
extractTextInternal(TextEncodingInternal encoding)仅供内部使用
getAttachNames()返回 PDF 文件中的附件列表。
getAttachment()将所有附件文件保存到流中。
getAttachment(String outputPath)将附件存储到文件中。
getAttachmentInfo()获取附件列表。
getClass()
getDocument()获取正在处理的文档外观。
getEndPage()获取将执行提取操作的页面范围内的结束页面。
getExtractImageMode()设置提取图像过程的模式。
getExtractTextMode()获取提取文本结果的模式。
getNextImage(OutputStream outputStream)从 PDF 文件中检索下一张图像并将其存储到流中。
getNextImage(OutputStream outputStream, ImageType format)从 PDF 文件中检索下一个图像并将其存储到具有给定图像格式的流中。
getNextImage(String outputFile)从 PDF 文档中检索下一张图像。
getNextImage(String outputFile, ImageType format)从具有给定图像格式的 PDF 文档中检索下一个图像。
getNextPageText(OutputStream outputStream)将一页的文本保存到流中。
getNextPageText(String outputFile)将一页的文本保存到文件。
getPassword()获取输入文件的密码。
getResolution()获取提取图像的分辨率。
getStartPage()获取将执行提取操作的页面范围内的起始页。
getText(OutputStream outputStream)将文本保存到流中。另见:ExtractText
getText(OutputStream outputStream, boolean filterNotAscii)将文本保存到流中。另见:ExtractText
getText(String outputFile)将文本保存到文件。另见:ExtractText
getTextSearchOptions()获取文本搜索选项。
hasNextImage()检查 PDF 文档中是否可以访问更多图像。
hasNextPageText()表示是否可以获取更多的文本。
hashCode()
isBidi()当文本具有希伯来语或阿拉伯语符号时为真。
notify()
notifyAll()
setEndPage(int value)在将执行提取操作的页面范围内设置结束页面。
setExtractImageMode(int value)设置提取图像过程的模式。
setExtractTextMode(int value)设置提取文本结果的模式。
setPassword(String value)设置输入文件的密码。
setResolution(int value)设置提取图像的分辨率。
setStartPage(int value)在将执行提取操作的页面范围内设置起始页。
setTextSearchOptions(TextSearchOptions value)设置文本搜索选项。
toString()
wait()
wait(long arg0)
wait(long arg0, int arg1)

PdfExtractor()

public PdfExtractor()

初始化新的 PdfExtractor 对象。

PdfExtractor(IDocument document)

public PdfExtractor(IDocument document)

在文档的基础上初始化新的 PdfExtractor 对象。

参数:

范围类型描述
documentIDocumentpdf文档。

bindPdf(IDocument srcDoc)

public void bindPdf(IDocument srcDoc)

初始化门面。

参数:

范围类型描述
srcDocIDocument文档对象。

bindPdf(InputStream inputStream)

public void bindPdf(InputStream inputStream)

从流中绑定 PDF 文档。


PdfExtractor ext = new PdfExtractor();
 InputStream stream = new FileInputStream("sample.pdf");
 ext.bindPdf(stream);

参数:

范围类型描述
inputStreamjava.io.InputStream包含 PDF 文档数据的流

bindPdf(InputStream srcStream, String password)

public void bindPdf(InputStream srcStream, String password)

初始化门面。

参数:

范围类型描述
srcStreamjava.io.InputStreamPDF文件流。
passwordjava.lang.StringPDF文档的密码。

bindPdf(String inputFile)

public void bindPdf(String inputFile)

绑定输入 PDF 文件。


PdfExtractor ext = new PdfExtractor();
 ext.bindPdf("sample.pdf");

参数:

范围类型描述
inputFilejava.lang.String要绑定的 PDF 字段

bindPdf(String srcFile, String password)

public void bindPdf(String srcFile, String password)

初始化门面。

参数:

范围类型描述
srcFilejava.lang.StringPDF文件
passwordjava.lang.StringPDF文档的密码。

close()

public void close()

处理与外观绑定的文档。

dispose()

public void dispose()

处理门面。

此方法已过时,请改用 close() 。

equals(Object arg0)

public boolean equals(Object arg0)

参数:

范围类型描述
arg0java.lang.Object

退货: 布尔值

extractAttachment()

public void extractAttachment()

从 Pdf 文档中提取附件。

extractAttachment(String attachmentFileName)

public void extractAttachment(String attachmentFileName)

按附件名称将附件提取到 PDF 文件。

参数:

范围类型描述
attachmentFileNamejava.lang.String要提取的附件名称

extractImage()

public void extractImage()

从 PDF 文件中提取图像。


PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf("sample.pdf");
 	extractor.extractImage();
 	int i = 1;
 	while (extractor.HasNextImage())
 	{
 	    extractor.getNextImage("image-" + i +".pdf");
 	}

extractMarkedContentAsImages(Page page, String path)

public void extractMarkedContentAsImages(Page page, String path)

获取所有标记内容容器作为单独的图像。

每个标记的内容都将保存为以 MCID 命名的 png 格式的图像_.png

参数:

范围类型描述
pagePage过程页面。
pathjava.lang.String图像将被保存的路径。

extractText()

public void extractText()

从 Pdf 文档中提取文本。


First example demonstratres how to extract all the text from PDF file.
 
 
  PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf("D:\Text\text.pdf");
 	extractor.extractText();
 	extractor.getText("D:\Text\text.txt");

第二个例子演示了如何将每一页的文本提取到一个 txt 文件中。

PdfExtractor extractor = new PdfExtractor();
  extractor.bindPdf(TestPath + "Aspose.Pdf.Kit.Pdf");
  extractor.extractText();
  String prefix = TestPath + "Aspose.Pdf.Kit";
  String suffix = ".txt";
  int pageCount = 1;
  while (extractor.hasNextPageText())
  {
      extractor.getNextPageText(prefix + pageCount + suffix);
      pageCount++;
  }

extractText(Charset encoding)

public void extractText(Charset encoding)

使用指定的编码从 Pdf 文档中提取文本。


First example demonstrates how to extract all the text from PDF file.
 
 
  PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf("D:\\Text\\text.pdf");
 	extractor.extractText(Encoding.Unicode);
 	extractor.getText("D:\\Text\\text.txt");

第二个示例演示如何将每个页面的文本提取到一个 txt 文件中。

PdfExtractor extractor = new PdfExtractor();
  extractor.bindPdf(TestPath + "Aspose.Pdf.Kit.Pdf");
  extractor.extractText(java.nio.charset.Charset.forName("UTF-8"));
  String prefix = TestPath + "Aspose.Pdf.Kit";
  String suffix = ".txt";
  int pageCount = 1;
  while (extractor.hasNextPageText())
  {
      extractor.getNextPageText(prefix + pageCount + suffix);
      pageCount++;
  }

参数:

范围类型描述
encodingjava.nio.charset.Charset提取文本的编码。

extractTextInternal(TextEncodingInternal encoding)

public void extractTextInternal(TextEncodingInternal encoding)

仅供内部使用

参数:

范围类型描述
encodingTextEncodingInternal提取文本的编码。

getAttachNames()

public List<String> getAttachNames()

返回 PDF 文件中的附件列表。注意:在使用此方法之前必须调用 ExtractAttachments。


Example demonstrates how to extract attachment names form PDF file.
 
 
  PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf(TestSettings.GetInputFile("sample.pdf"));
 	extractor.ExtractAttachment();
 	List attachments = extractor.getAttachNames();
 	for (String name : ```
(Iterable)
```attachments)
 		System.out.println(name);

退货: java.util.List<java.lang.String> - 附件列表

getAttachment()

public ByteArrayOutputStream[] getAttachment()

将所有附件文件保存到流中。


PdfExtractor extractor = new PdfExtractor();     
 	extractor.bindPdf(path + "Attach.pdf");
 	extractor.extractAttachment();
 	IList names = extractor.getAttachNames();
 	ByteArrayOutputStream[] tempStreams =  extractor.getAttachment();
 	for (int i=0; i<tempStreams.Length; i++)
 	{
 		string name = (string)names[i];
 		OutputStream fs = new FileOutputStream(path + name);
 		fs.write(tempStreams[i].toByteArray()); 
 		fs.close();
 	}

退货: java.io.ByteArrayOutputStream[- pdf文档中附件文件的流数组。

getAttachment(String outputPath)

public void getAttachment(String outputPath)

将附件存储到文件中。

参数:

范围类型描述
outputPathjava.lang.String将存储附件的目录路径。 Null 或空字符串表示附件将放置在应用程序目录中。

getAttachmentInfo()

public List<FileSpecification> getAttachmentInfo()

获取附件列表。

退货: java.util.List<com.aspose.pdf.FileSpecification> - 返回一个列表.

getClass()

public final native Class<?> getClass()

退货: java.lang.Class

getDocument()

public IDocument getDocument()

获取正在处理的文档外观。

退货: IDocument IDocument 元素

getEndPage()

public int getEndPage()

获取将执行提取操作的页面范围内的结束页面。


PdfExtractor ext = new PdfExtractor();
 ext.bindBdf("sample.pdf");
 ext.setStartPage(2);
 ext.setEndPage(3);
 ext.extractText();

退货: int - 结束页。

getExtractImageMode()

public int getExtractImageMode()

设置提取图像过程的模式。


默认值为 ExtractImageMode.DefinedInResources,它提取资源中定义的所有图像。要提取实际显示的图像,应使用 ExtractImageMode.ActuallyUsed 模式。

退货: int - ExtractImageMode 值

getExtractTextMode()

public int getExtractTextMode()

获取提取文本结果的模式。


The example demonstratres the ```
ExtractTextMode
``` property usage in text extraction scenario.
 
 
  PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf(@"D:\Text\text.pdf");
  extractor.setExtractTextMode(1);
 	extractor.extractText();
 	extractor.getText(@"D:\Text\text.txt");

值:0 是纯文本模式,1 是原始排序模式。默认为 0。

退货: int - 提取文本的结果。

getNextImage(OutputStream outputStream)

public boolean getNextImage(OutputStream outputStream)

从 PDF 文件中检索下一张图像并将其存储到流中。

参数:

范围类型描述
outputStreamjava.io.OutputStream将保存图像数据的流

退货: 布尔值 - 如果成功提取图像,则为 True。

getNextImage(OutputStream outputStream, ImageType format)

public boolean getNextImage(OutputStream outputStream, ImageType format)

从 PDF 文件中检索下一个图像并将其存储到具有给定图像格式的流中。

参数:

范围类型描述
outputStreamjava.io.OutputStream将保存图像数据的流
formatImageType图片的格式。

退货: 布尔值 - 如果成功提取图像,则为 True。

getNextImage(String outputFile)

public boolean getNextImage(String outputFile)

从 PDF 文档中检索下一张图像。注意:ExtractImage 必须在使用此方法之前调用。


PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf("sample.pdf");
 	extractor.extractImage();
 	int i = 1;
 	while (extractor.hasNextImage())
 	{
 	    extractor.getNextImage("image-" + i +".pdf");
 	}

参数:

范围类型描述
outputFilejava.lang.String将存储图像的文件

退货: boolean - True 是图像被成功提取

getNextImage(String outputFile, ImageType format)

public boolean getNextImage(String outputFile, ImageType format)

从具有给定图像格式的 PDF 文档中检索下一个图像。注意:ExtractImage 必须在使用此方法之前调用。

参数:

范围类型描述
outputFilejava.lang.String将存储图像的文件
formatImageType图像类型元素

退货: boolean - True 是图像被成功提取

getNextPageText(OutputStream outputStream)

public void getNextPageText(OutputStream outputStream)

将一页的文本保存到流中。


The example demonstratres the ```
GetNextPageText
``` method usage in text extraction scenario.
 
 
  PdfExtractor extractor = new PdfExtractor();
  extractor.bindPdf(TestPath + @"Aspose.Pdf.Kit.Pdf");
  extractor.extractText(Encoding.Unicode);
  String prefix = TestPath + "Aspose.Pdf.Kit";
  String suffix = ".txt";
  int pageCount = 1;
  while (extractor.hasNextPageText())
  {
      FileInputStream fs = new FileInputStream(prefix + pageCount + suffix, FileMode.Create);
      extractor.getNextPageText(fs);
      fs.close();
      pageCount++;
  }

参数:

范围类型描述
outputStreamjava.io.OutputStream保存文本的流。

getNextPageText(String outputFile)

public void getNextPageText(String outputFile)

将一页的文本保存到文件。


The example demonstratres the GetNextPageText method usage in text extraction scenario.
 
 
  PdfExtractor extractor = new PdfExtractor();
  extractor.bindPdf(TestPath + @"Aspose.Pdf.Kit.Pdf");
  extractor.extractText(Encoding.Unicode);
  String prefix = TestPath + @"Aspose.Pdf.Kit";
  String suffix = ".txt";
  int pageCount = 1;
  while (extractor.hasNextPageText())
  {
      extractor.getNextPageText(prefix + pageCount + suffix);
      pageCount++;
  }

参数:

范围类型描述
outputFilejava.lang.String保存文本的文件路径和名称。

getPassword()

public String getPassword()

获取输入文件的密码。

退货: java.lang.String - 字符串值

getResolution()

public int getResolution()

获取提取图像的分辨率。默认值为 150。分辨率值越大的图像越清晰。然而,增加分辨率值会导致提取图像所需的时间和内存增加。通常为了获得清晰的图像,将分辨率设置为 150 或 300 就足够了。

退货: int - 整数值

getStartPage()

public int getStartPage()

获取将执行提取操作的页面范围内的起始页。


PdfExtractor ext = new PdfExtractor();
 ext.bindBdf("sample.pdf");
 ext.setStartPage(2);
 ext.setEndPage(5);
 ext.extractText();

退货: int - 页面范围内的起始页。

getText(OutputStream outputStream)

public void getText(OutputStream outputStream)

将文本保存到流中。另见:ExtractText

参数:

范围类型描述
outputStreamjava.io.OutputStream保存文本的流。

getText(OutputStream outputStream, boolean filterNotAscii)

public void getText(OutputStream outputStream, boolean filterNotAscii)

将文本保存到流中。另见:ExtractText

参数:

范围类型描述
outputStreamjava.io.OutputStream保存文本的流。
filterNotAsciiboolean如果此参数为真,则将删除所有非 ASCII 符号

getText(String outputFile)

public void getText(String outputFile)

将文本保存到文件。另见:ExtractText

参数:

范围类型描述
outputFilejava.lang.String保存文本的文件路径和名称。

getTextSearchOptions()

public TextSearchOptions getTextSearchOptions()

获取文本搜索选项。

退货: TextSearchOptions 文本搜索选项。

hasNextImage()

public boolean hasNextImage()

检查 PDF 文档中是否可以访问更多图像。注意:ExtractImage 必须在使用此方法之前调用。


PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf("sample.pdf");
 	extractor.extractImage();
 	int i = 1;
 	while (extractor.hasNextImage())
 	{
 	    extractor.getNextImage("image-" + i +".pdf");
 	}

退货: 布尔值 - 如果可以访问更多图像则为真

hasNextPageText()

public boolean hasNextPageText()

表示是否可以获取更多的文本。


The example demonstratres the ```
HasNextPageText
``` property usage in text extraction scenario.
 
 
  PdfExtractor extractor = new PdfExtractor();
  extractor.bindPdf(TestPath + "Aspose.Pdf.Kit.Pdf");
  extractor.extractText(Encoding.Unicode);
  String prefix = TestPath + "Aspose.Pdf.Kit";
  String suffix = ".txt";
  int pageCount = 1;
  while (extractor.hasNextPageText())
  {
      extractor.getNextPageText(prefix + pageCount + suffix);
      pageCount++;
  }

退货: boolean - 是否可以获取更多文本,true 是可以,否则是 false。

hashCode()

public native int hashCode()

退货: 整数

isBidi()

public boolean isBidi()

当文本具有希伯来语或阿拉伯语符号时为真。必须特别考虑这种情况,因为字符串函数会改变它们的行为并从右到左开始处理文本(数字和其他非文本字符除外)。

退货: boolean - 布尔值

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

setEndPage(int value)

public void setEndPage(int value)

在将执行提取操作的页面范围内设置结束页面。


PdfExtractor ext = new PdfExtractor();
 ext.bindBdf("sample.pdf");
 ext.setStartPage(2);
 ext.setEndPage(3);
 ext.extractText();

参数:

范围类型描述
valueint结束页。

setExtractImageMode(int value)

public void setExtractImageMode(int value)

设置提取图像过程的模式。


默认值为 ExtractImageMode.DefinedInResources,它提取资源中定义的所有图像。要提取实际显示的图像,应使用 ExtractImageMode.ActuallyUsed 模式。

参数:

范围类型描述
valueintExtractImageMode 值

setExtractTextMode(int value)

public void setExtractTextMode(int value)

设置提取文本结果的模式。


The example demonstratres the ```
ExtractTextMode
``` property usage in text extraction scenario.
 
 
  PdfExtractor extractor = new PdfExtractor();
 	extractor.bindPdf(@"D:\Text\text.pdf");
  extractor.setExtractTextMode(1);
 	extractor.extractText();
 	extractor.getText(@"D:\Text\text.txt");

值:0 是纯文本模式,1 是原始排序模式。默认为 0。

参数:

范围类型描述
valueint提取文本的结果。

setPassword(String value)

public void setPassword(String value)

设置输入文件的密码。

参数:

范围类型描述
valuejava.lang.String字符串值

setResolution(int value)

public void setResolution(int value)

设置提取图像的分辨率。默认值为 150。分辨率值越大的图像越清晰。然而,增加分辨率值会导致提取图像所需的时间和内存增加。通常为了获得清晰的图像,将分辨率设置为 150 或 300 就足够了。

参数:

范围类型描述
valueint整数值

setStartPage(int value)

public void setStartPage(int value)

在将执行提取操作的页面范围内设置起始页。


PdfExtractor ext = new PdfExtractor();
 ext.bindBdf("sample.pdf");
 ext.setStartPage(2);
 ext.setEndPage(5);
 ext.extractText();

参数:

范围类型描述
valueint页范围内的起始页。

setTextSearchOptions(TextSearchOptions value)

public void setTextSearchOptions(TextSearchOptions value)

设置文本搜索选项。

参数:

范围类型描述
valueTextSearchOptions文本搜索选项。

toString()

public String toString()

退货: java.lang.字符串

wait()

public final void wait()

wait(long arg0)

public final native void wait(long arg0)

参数:

范围类型描述
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

参数:

范围类型描述
arg0long
arg1int