2013-04-18 3 views
1

다른 색상 텍스트와 배경색으로 구성된 PDF가 있습니다. CMYK 또는 RGB 형식으로 PDF에서 어떤 색을 사용하는지 식별하려면 어떻게합니까? pdf에서 rgb 및 cmyk 색상 확인

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를 사용하지만

+1

사용하는 PDFbox 버전 0.0과 같은 가치는 무엇입니까? – pdp

+0

pdfbox 1.7 버전 1 – Pragya

+0

PDFBox를 사용하는 경우 질문에 'itextsharp'라고 태그를 지정하는 이유는 무엇입니까? –

답변

1
PdfReader reader_FirstPdf = new PdfReader(pdf_of_FirstFile); 


      for (int i = 1; i <= reader_FirstPdf.NumberOfPages; i++) 
      { 
TextWithFont_SourcePdf Sourcepdf = new TextWithFont_SourcePdf(); 
} 
       text_First_File = iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage(reader_FirstPdf, i, Sourcepdf); 


      public void RenderText(iTextSharp.text.pdf.parser.TextRenderInfo renderInfo) 
      { 
int r = renderInfo.GetColorNonStroke().R; 
        int g = renderInfo.GetColorNonStroke().G; 
        int b = renderInfo.GetColorNonStroke().B; 

}