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


Java PdfDecoder类代码示例

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


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

示例1: JPedalExtractor

import org.jpedal.PdfDecoder; //导入依赖的package包/类
public JPedalExtractor(AbstractModelFactory modelFactory)
		throws Exception {

	DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
	docBuilder = dbfac.newDocumentBuilder();
	
	this.modelFactory = modelFactory;
	this.PDFDecoder = new PdfDecoder(false);

	PDFDecoder.setExtractionMode(PdfDecoder.TEXT); // extract just text
	PDFDecoder.init(true);
	PdfGroupingAlgorithms.useUnrotatedCoords = true;
	// if you do not require XML content, pure text extraction is much
	// faster.
	PDFDecoder.useXMLExtraction();

	System.setProperty("hacked", "true");

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

示例2: print

import org.jpedal.PdfDecoder; //导入依赖的package包/类
public void print() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    //decoder.enableScaledPrinting(false);
    printJob.setPageable(decoder);
    final PageFormat pf = printJob.defaultPage();
    decoder.setPageFormat(pf);
    decoder.setTextPrint(PdfDecoder.TEXTGLYPHPRINT);
    printJob.setPrintable(decoder, pf);
    if (printJob.printDialog()) {
        final Cursor oldCursor = getCursor();
        try {
            setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
            printJob.print();
        } catch (PrinterException e) {
            e.printStackTrace();
        } finally {
            setCursor(oldCursor);
        }
    }
}
 
开发者ID:metasfresh,项目名称:metasfresh,代码行数:21,代码来源:PDFViewerBean.java

示例3: 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();
}
 
开发者ID:mbaeuerle,项目名称:Briss-2.0,代码行数:31,代码来源:ClusterRenderWorker.java

示例4: writeImage

import org.jpedal.PdfDecoder; //导入依赖的package包/类
private static void writeImage(PdfDecoder dec, int page, Resource destination,String format, int scale,
		boolean overwrite, boolean goodQuality, boolean transparent) throws PageException, IOException {
	if(scale<1 || scale>100) 
		throw new ExpressionException("invalid scale definition ["+Caster.toString(scale)+"], value should be in range from 1 to 100");
	
	
	Image img=null;
	try {
		img = new Image(transparent?dec.getPageAsTransparentImage(page):dec.getPageAsImage(page));
	} catch (PdfException e) {
		throw Caster.toPageException(e);
	}
	if(scale!=100)
		img.resize(scale, goodQuality?"highestquality":"highperformance", 1);
	img.writeOut(destination,format, overwrite, 1f);
}
 
开发者ID:lucee,项目名称:Lucee4,代码行数:17,代码来源:PDF2ImageJPedal.java

示例5: extractBookmarks

import org.jpedal.PdfDecoder; //导入依赖的package包/类
private List<Integer> extractBookmarks(PdfDecoder decoder) {
	Document outline = decoder.getOutlineAsXML();
	final List<Integer> bookmarks = new ArrayList<Integer>();
	if (outline != null) {
		NodeList titles = outline.getElementsByTagName("title");
		for (int i = 0; i < titles.getLength(); i++) {
			Node pageAttribute = titles.item(i).getAttributes()
					.getNamedItem("page");
			if (pageAttribute != null) {
				bookmarks.add(Integer.parseInt(pageAttribute
						.getTextContent()));
			}
		}
	}
	return bookmarks;
}
 
开发者ID:schierla,项目名称:jbeagle,代码行数:17,代码来源:BeagleRenderer.java

示例6: 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();
}
 
开发者ID:mbaeuerle,项目名称:Briss-2.0,代码行数:31,代码来源:ClusterManager.java

示例7: writeImages

import org.jpedal.PdfDecoder; //导入依赖的package包/类
public void writeImages(byte[] input,Set pages,Resource outputDirectory, String prefix,String format, int scale,
	 boolean overwrite, boolean goodQuality,boolean transparent) throws  PageException, IOException {
 PdfDecoder dec = createPdfDecoder(input);
 Resource res;
 int count = dec.getPageCount();
 
 for(int page=1;page<=count;page++) {
	 if(pages!=null && !pages.contains(Integer.valueOf(page)))continue;
	 //res=outputDirectory.getRealResource(prefix+"_page_"+page+"."+format);
	 res=createDestinationResource(outputDirectory,prefix,page,format,overwrite);
	 writeImage(dec,page,res,format,scale,overwrite,goodQuality, transparent);
 }

}
 
开发者ID:lucee,项目名称:Lucee4,代码行数:15,代码来源:PDF2ImageJPedal.java

示例8: createPdfDecoder

import org.jpedal.PdfDecoder; //导入依赖的package包/类
private static PdfDecoder createPdfDecoder(byte[] input) throws PageException  {
	 PdfDecoder decoder = new PdfDecoder(true);
	 decoder.useHiResScreenDisplay(true);
	 try {
		decoder.openPdfArray(input);
	} catch (PdfException e) {
		throw Caster.toPageException(e);
	}
	 return decoder;
}
 
开发者ID:lucee,项目名称:Lucee4,代码行数:11,代码来源:PDF2ImageJPedal.java

示例9: 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

示例10: getMetadata

import org.jpedal.PdfDecoder; //导入依赖的package包/类
private static String getMetadata(PdfDecoder decoder, String key,
		String defaultValue) {
	String[] fieldNames = PdfFileInformation.getFieldNames();
	String[] metadata = decoder.getFileInformationData().getFieldValues();

	for (int i = 0; i < fieldNames.length; i++) {
		if (key.equals(fieldNames[i])) {
			String value = metadata[i];
			if (value == null || value.isEmpty())
				return defaultValue;
			return value;
		}
	}
	return defaultValue;
}
 
开发者ID:schierla,项目名称:jbeagle,代码行数:16,代码来源:BeagleUtil.java

示例11: BeagleRenderer

import org.jpedal.PdfDecoder; //导入依赖的package包/类
public BeagleRenderer(PdfDecoder decoder, String author, String title) {
	this.decoder = decoder;
	this.author = author;
	this.title = title;
	this.pages = decoder.getPageCount();
	this.bookmarks = extractBookmarks(decoder);
}
 
开发者ID:schierla,项目名称:jbeagle,代码行数:8,代码来源:BeagleRenderer.java

示例12: JPedalPageImageExtractor

import org.jpedal.PdfDecoder; //导入依赖的package包/类
public JPedalPageImageExtractor()
{
	this.decoder = new PdfDecoder(true);
	//PdfDecoder.s
	//PdfDecoder.setTextPrint(PdfDecoder.);
	//decoder.setExtractionMode(PdfDecoder.TEXT); // extract just text
	decoder.init(true);
	PdfGroupingAlgorithms.useUnrotatedCoords = true;
	// if you do not require XML content, pure text extraction is much
	// faster.
	decoder.useXMLExtraction();
}
 
开发者ID:GullyAPCBurns,项目名称:lapdftext,代码行数:13,代码来源:JPedalPageImageExtractor.java

示例13: 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

示例14: 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

示例15: 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


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