本文整理汇总了Java中org.jpedal.PdfDecoder类的典型用法代码示例。如果您正苦于以下问题:Java PdfDecoder类的具体用法?Java PdfDecoder怎么用?Java PdfDecoder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PdfDecoder类属于org.jpedal包,在下文中一共展示了PdfDecoder类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: 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类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论