gpt4 book ai didi

java - iText 页面颜色或黑/白

转载 作者:行者123 更新时间:2023-11-30 04:56:57 27 4
gpt4 key购买 nike

我正在尝试使用 iText(或者可能是其他一些 java 库,如果您知道的话)来找出 PDF 文档的页面是否包含任何非黑白对象(页面是黑白或彩色)。我的 PDF 文件不应包含图像,因此我们不必担心这一点。

有什么想法吗?

我希望除了转换为图像并读取每个像素的颜色之外还有其他方法。

最佳答案

一种可能的解决方案是获取页面流并对颜色设置运算符进行正则表达式搜索。

byte[] contentStream = pdfRdr.getPageContent(pageNo);

PDF 页面上的几乎所有内容都是文本或图形对象。使用最多四个浮点值后指定的运算符来设置颜色:

f1 .. fn SC % you need to know more about the colour space to determine whether this is black or not
fq .. fn sc
f1 f2 f3 RG % 0 0 0 would be black 1 1 1 would be white
f1 f2 f3 rg
f1 f2 f3 f4 K % CMYK (0 0 0 1 = Black, 0 0 0 0 = White, I think)
f1 f2 f3 f4 k
f1 g % the g operator choose the greyscale colour space
g1 G

我可以想象这可能很难做到正确。更务实的解决方案可能是将页面转换为图像(使用您可以通过谷歌搜索到的众多工具之一),然后检查图像。

关于java - iText 页面颜色或黑/白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8243496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com