我对使用PDFBox的项目感兴趣,该项目需要能够指定专色和颜色分色输出到专业打印机,好奇它是否支持这一点。如果是这样的话(我也这么认为),我也在寻找一些示例代码。
我在他们的邮件列表(here)上找到了一篇2009年的老帖子,它让我相信PDFBox可以支持分色,但还没有成功地找到任何示例代码。我查看了他们的JavaDoc,发现了org.apache.pdfbox.pdmodel.graphics.color类,但不知道如何利用它们,也没有在他们的网站或源代码中看到任何cookbook示例。
我特别感谢任何有助于说明DeviceN色彩空间的例子。
发布于 2017-07-21 14:39:00
请见下图

公共静态Map getSpotColor() { Map getSpotColor=新文件,PDColor>();PDDocument spotColorFile = null;try { spotColorFile =PDDocument.load(新文件(“d:\spotColor.pdf”);for (PDPage页面: spotColorFile.getPages()) { for (COSName名称: page.getResources().getColorSpaceNames()) { PDColor color =page.getResources().getColorSpace(名称) .getInitialColor();PDSeparation cs = (PDSeparation) color.getColorSpace();colors.put(cs.getColorantName(),color);} catch (FileNotFoundException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();} finally { if (spotColorFile != null) try { spotColorFile.close();} catch (IOException e) { e.printStackTrace();} finally { spotColorFile = null;}}返回颜色;}
content.setNonStrokingColor(colors.get("PANTONE static void main(String[] args) { PDDocument doc = null;PDPage page = null;try { Map colors = getSpotColor();doc = new PDDocument();page = new PDPage(new PDRectangle(100,100));doc.addPage(页面);PDPageContentStream content = new PDPageContentStream(文档,页面);content.beginText();doc.addPage 2607 C"));content.setNonStrokingColor(colors.get("PANTONE (PDType1Font.HELVETICA_BOLD,20);content.setFont(“abcdef”);content.endText();content.addRect(50,50,50,50);content.fill();content.close();doc.save("d:\spotColorTest.pdf");}
3如果你有更聪明的想法,请让我知道:)
发布于 2013-01-29 20:42:16
为什么不能使用PDSeparation class
https://stackoverflow.com/questions/10456486
复制相似问题