1

異なる色のテキストと背景色で構成される PDF があります。CMYK または RGB 形式の PDF で使用されている色を特定するにはどうすればよいですか?

StringBuilder sb_Sourcepdf = new StringBuilder();
PdfReader reader_FirstPdf = new PdfReader(pdf_of_FirstFile);

Document document = new Document();

PDFParser parser = new PDFParser(new FileInputStream(pdf_of_FirstFile));
parser.parse();
PDDocument docum = parser.getPDDocument();

PDFStreamEngine engine = new PDFStreamEngine();

PDPage page = (PDPage)docum.getDocumentCatalog().getAllPages().get(0);

engine.processStream(page, page.findResources(), page.getContents().getStream());
PDGraphicsState graphicState = engine.getGraphicsState();
string colorname = graphicState.getStrokingColor().getColorSpace().getName();
graphicState.getTextState().getFont();
int r = graphicState.getNonStrokingColor().getJavaColor().getRed();
int g = graphicState.getNonStrokingColor().getJavaColor().getGreen();
int b = graphicState.getNonStrokingColor().getJavaColor().getBlue();
int rgb = graphicState.getNonStrokingColor().getJavaColor().getRGB();
float[] cosp = graphicState.getNonStrokingColor().getColorSpaceValue();
PDColorSpace pd = graphicState.getNonStrokingColor().getColorSpace();

string re = graphicState.getStrokingColor().toString();
int rgbcolor = graphicState.getStrokingColor().getJavaColor().getRGB();

float[] components = { java.awt.Color.black.getRed(), java.awt.Color.black.getGreen(), java.awt.Color.black.getBlue() };

float[] colorSpaceValues = graphicState.getStrokingColor().getColorSpaceValue();


foreach (float c in colorSpaceValues)
{
    Debug.WriteLine(c * 255.00);
}

私はpdfboxを使用しましたが、値が0.0になっています

4

1 に答える 1