我正在为Bitbucket服务器编写一个插件,其中我必须处理将PDF渲染为图像。我使用我有一个将调用来执行处理的方法,并且我已经修改了PDF渲染器,类似于Apache示例所建议的。pdfToPng
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.graphics.color.PDColor;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.rendering.PageDrawer;
import org.apache.pdfbox.rendering.PageDrawerParameters;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class PDFProcessor {
private static Logger logger = LoggerFactory.getLogger(PDFProcessor.class);
private static int _colorMode;
/**
* Convert a page of a PDF document into a colored PNG
* @param color color to use, 0 - black, 1- red
* @param fileName output file
* @param pdfFile PDF to process
* @throws IOException
*/
public static void pdfToPng(int color, String fileName, File pdfFile) throws IOException{
_colorMode = color;
try (PDDocument pdfDoc = PDDocument.load(pdfFile)){
logger.info("Begin PDF to PNG render for " + fileName);
PDFRenderer renderer = new CustomPdfRenderer(pdfDoc);
BufferedImage image = renderer.renderImageWithDPI(0,600);
logger.info("Making PNG transparent...");
BufferedImage transparentImage = ImageProcessor.makeTransparent(image,new Color(image.getRGB(0,0)));
ImageIO.write(transparentImage, "PNG",new File(fileName+".png"));
logger.info("Image processed successfully, writing to " + fileName + ".png");
}
}
该项目是使用Maven构建的,因为这是BitBucket用于插件开发的时候。但是,当实际调用该方法时,我得到一个异常,指出:ClassNotFound
如您所见,我已经导入了该类。My 还包含正确的依赖项定义:PDFRendererpom.xml
为什么 Java 找不到该类?以这种方式声明的其他依赖项永远不会有此问题。PDFRenderer
汪汪一只猫
相关分类