当前位置: 首页>>代码示例>>Java>>正文


Java PdfDecoder.setExtractionMode方法代码示例

本文整理汇总了Java中org.jpedal.PdfDecoder.setExtractionMode方法的典型用法代码示例。如果您正苦于以下问题:Java PdfDecoder.setExtractionMode方法的具体用法?Java PdfDecoder.setExtractionMode怎么用?Java PdfDecoder.setExtractionMode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jpedal.PdfDecoder的用法示例。


在下文中一共展示了PdfDecoder.setExtractionMode方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getPageImages

import org.jpedal.PdfDecoder; //导入方法依赖的package包/类
@Override
public List<BufferedImage> getPageImages(ExamPaper examPaper) throws PdfException {
    PdfDecoder pdf = new PdfDecoder(false);
    pdf.setExtractionMode(PdfDecoder.FINALIMAGES);
    InputStream is = new ByteArrayInputStream(examPaper.getPdf());
    pdf.openPdfFileFromInputStream(is, true);

    ArrayList<BufferedImage> pageImages = new ArrayList<>();
    for (int i = 1; i <= pdf.getPageCount(); i++) {
        pageImages.add(pdf.getPageAsImage(i));
    }
    return pageImages;
}
 
开发者ID:ohtuprojekti,项目名称:OKKoPa,代码行数:14,代码来源:PDFProcessorImpl.java

示例2: createImagesForPdf

import org.jpedal.PdfDecoder; //导入方法依赖的package包/类
public static int createImagesForPdf(String docDir, String fileName)
{
  File documentCacheDir = getDocumentCacheDir(docDir);
  String pdffileName = fileName;
  if (!fileName.endsWith(".pdf")) pdffileName = new StringBuilder().append(fileName).append(".pdf").toString();
  File file = new File(docDir, pdffileName);
  PdfDecoder decode_pdf = new PdfDecoder(true);
  File ofile = null;
  int numberOfPages = 0;
  try
  {
    FontMappings.setFontReplacements();

    decode_pdf.useHiResScreenDisplay(true);

    decode_pdf.setExtractionMode(0, 96, 1.333333F);

    FileInputStream is = new FileInputStream(file);

    decode_pdf.openPdfFileFromInputStream(is, false);

    RandomAccessFile raf = new RandomAccessFile(file, "r");
    FileChannel channel = raf.getChannel();
    ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0L, channel.size());
    PDFFile pdffile = new PDFFile(buf);
    numberOfPages = pdffile.getNumPages();
    for (int p = 1; p <= numberOfPages; p++) {
      BufferedImage image_to_save = decode_pdf.getPageAsImage(p);

      String imageFileName = null;
      if (fileName.endsWith(".pdf")) imageFileName = fileName.split(".pdf")[0]; else {
        imageFileName = fileName;
      }
      File outfile = new File(documentCacheDir, new StringBuilder().append(imageFileName).append("_").append(p).append(".png").toString());
      if (!outfile.exists()) {
        decode_pdf.getObjectStore().saveStoredImage(new StringBuilder().append(documentCacheDir.getCanonicalPath()).append("/").append(imageFileName).append("_").append(p).append(".png").toString(), image_to_save, true, false, "png");
      }
      decode_pdf.flushObjectValues(true);

      decode_pdf.closePdfFile();
    }
  }
  catch (Exception e)
  {
    logger.error(new StringBuilder().append("Error decoding pdf file ").append(fileName).toString());
    MiscUtils.getLogger().error("Error", e);
    decode_pdf.closePdfFile();
  }

  return numberOfPages;
}
 
开发者ID:oscarservice,项目名称:oscar-old,代码行数:52,代码来源:Utilities.java

示例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;

}
 
开发者ID:GullyAPCBurns,项目名称:lapdftext,代码行数:64,代码来源:JPedalPDFRenderer.java

示例4: createCacheVersion2

import org.jpedal.PdfDecoder; //导入方法依赖的package包/类
public File createCacheVersion2(Document d, Integer pageNum) {
	File documentCacheDir = getDocumentCacheDir(oscar.OscarProperties.getInstance().getProperty("DOCUMENT_DIR"));
	File file = new File(EDocUtil.getDocumentPath(d.getDocfilename()));

	PdfDecoder decode_pdf  = new PdfDecoder(true);
	File ofile = null;
	try {

		FontMappings.setFontReplacements();

		decode_pdf.useHiResScreenDisplay(true);

		decode_pdf.setExtractionMode(0, 96, 96/72f);

		FileInputStream is = new FileInputStream(file);

		decode_pdf.openPdfFileFromInputStream(is, false);

		BufferedImage image_to_save = decode_pdf.getPageAsImage(pageNum);



		decode_pdf.getObjectStore().saveStoredImage( documentCacheDir.getCanonicalPath() + "/" + d.getDocfilename() + "_" + pageNum + ".png", image_to_save, true, false, "png");

		decode_pdf.flushObjectValues(true);

		decode_pdf.closePdfFile();

		ofile = new File(documentCacheDir, d.getDocfilename() + "_" + pageNum + ".png");



	}catch(Exception e) {
		log.error("Error decoding pdf file " + d.getDocfilename());
		decode_pdf.closePdfFile();
	}

	return ofile;

}
 
开发者ID:oscarservice,项目名称:oscar-old,代码行数:41,代码来源:ManageDocumentAction.java

示例5: createIncomingCacheVersion

import org.jpedal.PdfDecoder; //导入方法依赖的package包/类
public File createIncomingCacheVersion(String queueId, String pdfDir, String pdfName, Integer pageNum) throws Exception {


        String incomingDocPath = IncomingDocUtil.getIncomingDocumentFilePath(queueId, pdfDir);
        File documentDir = new File(incomingDocPath);
        File documentCacheDir = getDocumentCacheDir(incomingDocPath);
        File file = new File(documentDir, pdfName);

        PdfDecoder decode_pdf = new PdfDecoder(true);
        File ofile = null;
        FileInputStream is = null;
        
        try {

            FontMappings.setFontReplacements();

            decode_pdf.useHiResScreenDisplay(true);

            decode_pdf.setExtractionMode(0, 96, 96 / 72f);

            is = new FileInputStream(file);

            decode_pdf.openPdfFileFromInputStream(is, false);

            BufferedImage image_to_save = decode_pdf.getPageAsImage(pageNum);

            decode_pdf.getObjectStore().saveStoredImage(documentCacheDir.getCanonicalPath() + "/" + pdfName + "_" + pageNum + ".png", image_to_save, true, false, "png");

            decode_pdf.flushObjectValues(true);

        } catch (Exception e) {
            log.error("Error decoding pdf file " + pdfDir + pdfName);
        } finally {
            if (decode_pdf != null) {
                decode_pdf.closePdfFile();
            }
            if (is!=null) {
                is.close();
            }
                
        }
        
        ofile = new File(documentCacheDir, pdfName + "_" + pageNum + ".png");
        
        return ofile;

    }
 
开发者ID:williamgrosset,项目名称:OSCAR-ConCert,代码行数:48,代码来源:ManageDocumentAction.java


注:本文中的org.jpedal.PdfDecoder.setExtractionMode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。