本文整理汇总了Java中org.jpedal.PdfDecoder.openPdfFile方法的典型用法代码示例。如果您正苦于以下问题:Java PdfDecoder.openPdfFile方法的具体用法?Java PdfDecoder.openPdfFile怎么用?Java PdfDecoder.openPdfFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jpedal.PdfDecoder
的用法示例。
在下文中一共展示了PdfDecoder.openPdfFile方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: run
import org.jpedal.PdfDecoder; //导入方法依赖的package包/类
@Override
public final void run() {
PdfDecoder pdfDecoder = new PdfDecoder();
try {
pdfDecoder.openPdfFile(source.getAbsolutePath());
} catch (PdfException e1) {
e1.printStackTrace();
}
for (PageCluster cluster : clusters.getClusterList()) {
for (Integer pageNumber : cluster.getPagesToMerge()) {
// TODO jpedal isn't able to render big images
// correctly, so let's check if the image is big an
// throw it away
try {
if (cluster.getImageData().isRenderable()) {
BufferedImage renderedPage = pdfDecoder.getPageAsImage(pageNumber);
cluster.getImageData().addImageToPreview(renderedPage);
workerUnitCounter++;
}
} catch (PdfException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// now close the reader as it's not used anymore
pdfDecoder.closePdfFile();
}
示例2: run
import org.jpedal.PdfDecoder; //导入方法依赖的package包/类
@Override
public void run() {
PdfDecoder pdfDecoder = new PdfDecoder(true);
try {
pdfDecoder.openPdfFile(clusterJob.getSource().getAbsolutePath());
} catch (PdfException e1) {
e1.printStackTrace();
}
for (SingleCluster cluster : clusterJob.getClusterCollection().getAsList()) {
for (Integer pageNumber : cluster.getPagesToMerge()) {
// TODO jpedal isn't able to render big images
// correctly, so let's check if the image is big an
// throw it away
try {
if (cluster.getImageData().isRenderable()) {
BufferedImage renderedPage = pdfDecoder.getPageAsImage(pageNumber);
cluster.getImageData().addImageToPreview(renderedPage);
workerUnitCounter++;
}
} catch (PdfException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// now close the reader as it's not used anymore
pdfDecoder.closePdfFile();
}
示例3: generateImages
import org.jpedal.PdfDecoder; //导入方法依赖的package包/类
/**
* Generates one JPEG image per page of the input PDFs. The images are named
* according to the leaf filename and page number of the input. E.g. for
* page 2 of "/tmp/Heidinger_1997_767_279.pdf", the output file would be
* "/path/to/output/Heidinger_1997_767_279_2.jpg".
*
* @return A list of all generated files.
*/
public List<File> generateImages(File pdf, File outputDir)
throws IOException, PdfException {
int startPage = 1;
int endPage;
double h = -0.01;
double w = -0.01;
List<File> generatedFiles = new ArrayList<File>();
String pdfName = pdf.getName();
String pdfStem = pdfName.substring(0, pdfName.lastIndexOf("."));
PdfDecoder decoder = new PdfDecoder(true);
// decoder.setExtractionMode(0, DPI, DPI/72);
decoder.setExtractionMode(PdfDecoder.TEXT + PdfDecoder.RAWIMAGES
+ PdfDecoder.FINALIMAGES, DPI, DPI / 72);
decoder.openPdfFile(pdf.getPath());
endPage = decoder.getPageCount();
for (int pageNumber = startPage; pageNumber <= endPage; pageNumber++) {
String outputImageName = pdfStem + "_" + pageNumber + ".png";
File outputImageFile = new File( outputImageName );
generatedFiles.add(outputImageFile);
PdfFileInformation currentFileInformation = decoder
.getFileInformationData();
String values[] = currentFileInformation.getFieldValues();
String fields[] = PdfFileInformation.getFieldNames();
for (int i = 0; i < fields.length; i++) {
if (fields[i].equals("Creator")) {
for (int j = 0; j < ocr.length; j++) {
if (values[i].equals(ocr[j])) {
decoder.setRenderMode(PdfDecoder.RENDERIMAGES);
//decoder.setsetEnableLegacyJPEGConversion(true);
}
}
}
}
BufferedImage image_to_save = decoder
.getPageAsImage(pageNumber);
h = image_to_save.getHeight();
w = image_to_save.getWidth();
ImageIO.write(image_to_save, "png", outputImageFile);
}
return generatedFiles;
}