List of usage examples for org.apache.pdfbox.cos COSInteger COSInteger
private COSInteger(long val)
From source file:com.santaanna.friendlyreader.pdfstod.pdfstod3.ReplaceStringStreamEngine.java
License:Apache License
public String highlight(String reststr, COSStream cosStream, int pageind, boolean DoHighlight, int valdmening) { SkrivUt(1, "Frst i highlight."); // Anvnd meningsvektor fr att hmta meningar. // Metoden rknar bara tecknen i string och mening och antar att de r synkade // i vrigt.// w w w . j a v a 2 s .com // ShowText Tj = new ShowText(); // Tj // ShowTextGlyph TJ = new ShowTextGlyph(); // TJ int mindex = mind; PDFOperator Tj = PDFOperator.getOperator("Tj"); PDFOperator TJ = PDFOperator.getOperator("TJ"); PDFOperator g = PDFOperator.getOperator("g"); PDFOperator G = PDFOperator.getOperator("G"); COSFloat gval = null; COSFloat g2val = null; COSFloat etta = null; COSFloat nolla = null; COSInteger tv = null; COSFloat red = null; COSFloat green = null; PDFOperator rg = PDFOperator.getOperator("rg"); PDFOperator RG = PDFOperator.getOperator("RG"); PDFOperator Tr = PDFOperator.getOperator("Tr"); try { gval = new COSFloat("0.0"); g2val = new COSFloat("0.6"); // AH* Hr stlls sammanfattningsgraden! etta = new COSFloat("1.0"); nolla = new COSFloat("0.0"); tv = new COSInteger("2"); red = new COSFloat("0.753"); green = new COSFloat("1.0"); } catch (IOException ioec) { SkrivUt(0, "Fel p gval!"); } String restretur = ""; // Resterande text p meningsrad. En arbetsstruktur. String men; // Aktuell meningsstruktur. if (reststr == null ? "" != null : !reststr.equals("")) men = reststr; else men = meningsvektor.get(mindex).helameningen; // terskrivet Hit! int menlen = men.length(); // Lngden p den aktuella meningen. int mvektlen = meningsvektor.size(); // Storleken p vektorn. byte[] bytestr; // string representerad som byte[] byte[] tempbstr; // byte[] fr temporr lagring. int strlen; // Lngden p den aktuella stringen. COSString prevny = null; boolean firsttime = true; boolean kapad = false; List tokens = null; int tempmennr = 0; String teststr = ""; try { SkrivUt(1, "Andra i highlight."); tokens = cosStream.getStreamTokens(); pageTokens.add(pageind, tokens); // tokens = Fungerade tidigare. // listTokens( tokens ); // Data innan split. // List tokens = getTokenList();// AH* parser.getTokens(); Tidigare hmtning av lista. // Dvs hmta INTE tokens frn den parsade filen. Anvnd tidigare data. LinkedList arguments = new LinkedList(); // AH* argumenten till operatorn. SkrivUt(1, ">>> AddGray-Token size: " + tokens.size()); for (int j = 0; j < tokens.size(); j++) { Object next = tokens.get(j); // SkrivUt(1, "Tokennr: " + j); if (next instanceof PDFOperator) { PDFOperator op = (PDFOperator) next; //Tj and TJ are the two operators that display //strings in a PDF //AH: //SkrivUt(4, "ArgumentList length: " + arguments.size()); //>> AH* SkrivUt(4, "Operator anrop:" + OperatorCall( op, arguments )); // AH: Hr borde man gra ett anrop till StreamEngine! arguments = new LinkedList(); // Mste nollstlla argumenten // efter varje operator. if (op.getOperation().equals("Tj")) { SkrivUt(1, "Tj hittad."); // Lgg till gray operator och argument! // tokens.add(j-1, g); // Hr skall sammanfattningen gras! tempmennr = mennr; if (DoHighlight && !medisammanfattningen(false, pageind, valdmening)) // Ej Array. { tokens.set(j - 3, g2val); SkrivUt(2, "EJ Highlight men:" + tempmennr); } else SkrivUt(2, "Highlight men:" + tempmennr); mindex = mennr; if (mennr >= meningsvektor.size()) return ""; SkrivUt(2, "mennr: " + tempmennr + " valdmening: " + valdmening); SkrivUt(2, "Meningen: " + meningsvektor.get(tempmennr).helameningen); if (tempmennr == valdmening) { // Kolla frst om det r en tom text => Inte highlight! SkrivUt(2, "Mennr == valdmening."); /* Senaste bortkommenterade. if (valdsida == -1) // { // Tilldela valdsida bara om den inte tilldelats tidigare. // Skall ocks kolla om det bara r blanka i meningsdelen // p denna sida. teststr = meningsvektor.get(tempmennr).allaDelar.get(mendelnr).deltext; SkrivUt(3, "xxxxxxxxx teststr: " + teststr); if (!baraBlanka( teststr )) { valdsida = pageind; // Detta r den valda sidan. SkrivUt(3, "*************************** valdsida: " + valdsida); } else SkrivUt(3, "bara blanka i deltext till meniong: " + tempmennr); } */ SkrivUt(3, ">>>>>>> valdmening:" + valdmening + " mennr: " + mennr); tokens.add(j - 1, rg); tokens.add(j - 1, nolla); // tokens.add(j-1, green); tokens.add(j - 1, nolla); tokens.add(j - 1, red); j += 4; /* tokens.add(j-1, RG); tokens.add(j-1, nolla); tokens.add(j-1, nolla); tokens.add(j-1, red); tokens.add(j-1, rg); tokens.add(j-1, nolla); tokens.add(j-1, nolla); tokens.add(j-1, red); * */ // Addera kod efter Tj: /* tokens.add(j+9, G); tokens.add(j+9, nolla); tokens.add(j+9, g); tokens.add(j+9, nolla); j+= 13; * */ // Kanske behver stta fler variabler. } //Tj takes one operator and that is the string //to display so lets update that operator restretur = ""; int aktind = 0; COSString previous = (COSString) tokens.get(j - 1); String string = previous.getString(); prevny = null; bytestr = previous.getBytes(); strlen = string.length(); //SkrivUt(4, "Men: " + men); //SkrivUt(4, "string: "+ string); // Kolla kommenterad kod. // HTexten += string; // string = string.replaceFirst( strToFind, message ); // previous.reset(); // previous.append( string.getBytes() ); // AH* Testa tillgg av kod. /* tokens.add(j-1, gop); if (gray1) { tokens.add(j-1,cfloat1 ); gray1 = false; } else { tokens.add(j-1, cfloat5); gray1 = true; } j = j+2; */ } else if (op.getOperation().equals("TJ")) { SkrivUt(1, "TJ hittad."); // Lgg till gray operator och argument! // tokens.add(j-1, g); // Hr skall sammanfattningen gras! tempmennr = mennr; if (DoHighlight && !medisammanfattningen(true, pageind, valdmening)) // Array. { tokens.set(j - 3, g2val); SkrivUt(2, "EJ Highlight men:" + tempmennr); } else SkrivUt(2, "Highlight men:" + tempmennr); mindex = mennr; if (mennr >= meningsvektor.size()) return ""; SkrivUt(2, "mennr: " + tempmennr + " valdmening: " + valdmening); SkrivUt(2, "Meningen: " + meningsvektor.get(tempmennr).helameningen); if (tempmennr == valdmening) // . { //valdmening // Kolla frst om det r en tom text => Inte highlight! SkrivUt(2, "Mennr == valdmening."); /* if (valdsida == -1) // { // Tilldela valdsida bara om den inte tilldelats tidigare. // Skall ocks kolla om det bara r blanka i meningsdelen // p denna sida. teststr = meningsvektor.get(tempmennr).allaDelar.get(mendelnr).deltext; SkrivUt(3, "xxxxxxxxx teststr: " + teststr); if (!baraBlanka( teststr )) { valdsida = pageind; // Detta r den valda sidan. SkrivUt(3, "*************************** valdsida: " + valdsida); } else SkrivUt(3, "bara blanka i deltext till mening: " + tempmennr); } * */ SkrivUt(3, ">>>>>>> valdmening:" + valdmening + " mennr: " + mennr); //tokens.add(j-2, RG); //tokens.add(j-2, nolla); //tokens.add(j-2, nolla); // tokens.add(j-2, red); tokens.add(j - 1, rg); tokens.add(j - 1, nolla); // tokens.add(j-1, green); tokens.add(j - 1, nolla); tokens.add(j - 1, red); // Addera kod efter Tj: // tokens.add(j+9, G); // tokens.add(j+9, nolla); // tokens.add(j+9, g); // tokens.add(j+9, nolla); // j+= 13; j += 4; // Kanske behver stta fler variabler. } restretur = ""; int aktind = 0; // fr den aktuella arrayen. COSArray previous = (COSArray) tokens.get(j - 1); firsttime = true; for (int k = 0; k < previous.size(); k++) { Object arrElement = previous.getObject(k); if (arrElement instanceof COSString) { COSString cosString = (COSString) arrElement; String string = cosString.getString(); bytestr = ((COSString) arrElement).getBytes(); strlen = string.length(); prevny = null; // SkrivUt(4, "Men: " + men); // SkrivUt(4, "string: "+ string); // HTexten += string; // string = string.replaceFirst( strToFind, message ); // cosString.reset(); // cosString.append( string.getBytes() ); } else if (arrElement instanceof COSNumber) { // Testa om det finns nr. // Spara arrElement i aktarray! // Tester visar att det r COSNumber som hanteras! // aktarray.add( (COSNumber)arrElement ); // aktind++; // SkrivUt(4, "COSNumber i splitMeningar."); } else if (arrElement instanceof COSInteger) { // Testa om det finns int. // Spara arrElement i aktarray! // aktarray.add( (COSInteger)arrElement ); // aktind++; // SkrivUt(4, "COSInteger i splitMeningar."); } else if (arrElement instanceof COSFloat) { // Testa om det finns float. // Spara arrElement i aktarray! // aktarray.add( (COSFloat)arrElement ); // aktind++; // SkrivUt(4, "COSFloat i splitMeningar."); } else { // Spara data till aktarray. Kolla vilken typ det r! SkrivUt(4, "Oknd typ arrel i addGrey: " + arrElement.toString()); } } // AH: Tillagd kod! /* tokens.add(j-1, gop); if (gray1) { tokens.add(j-1,cfloat1 ); gray1 = false; } else { tokens.add(j-1, cfloat5); gray1 = true; } j = j+2; */ } } else // Inte PDFOperator, samla argument! { if (next instanceof COSBase) { arguments.add(next); //SkrivUt(4, "COSBase " + next.toString()); } else { SkrivUt(4, "next inte rtt typ!"); } } } //now that the tokens are updated we will replace the //page content stream. SkrivUt(3, ">>> Fre spara tokens i highlight."); PDStream updatedStream = new PDStream(doc1); OutputStream out = updatedStream.createOutputStream(); ContentStreamWriter tokenWriter = new ContentStreamWriter(out); tokenWriter.writeTokens(tokens); // if (updatedStream == null) SkrivUt(4, "updatedStream == null"); if (page1 == null) SkrivUt(4, "page == null"); page1.setContents(updatedStream); SkrivUt(3, ">>> Efter spara tokens i highlight."); } catch (java.io.IOException ioe) { SkrivUt(0, "Exception i Highlight ."); } // Sparad skrpkod: // cosStream.setStreamTokens( tokens ); // tokens = cosStream.getStreamTokens(); mind = mindex; // Borde spara tokens hr!? // SkrivUt(4, "restretur: " + restretur); listTokens(tokens); return restretur; }
From source file:net.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsInteger() { try {/*from www . j av a 2s . co m*/ COSObject co = new COSObject(new COSInteger(10)); co.setGenerationNumber(new COSInteger(0)); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isInteger(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); doc.setXRef(new COSObjectKey(co), 1000); COSUtils.isInteger(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:net.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsFloat() { try {//www .ja v a2 s . c o m COSObject co = new COSObject(new COSFloat(10.0f)); co.setGenerationNumber(new COSInteger(0)); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isFloat(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); doc.setXRef(new COSObjectKey(co), 1000); COSUtils.isFloat(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:net.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsString() { try {//from w ww . j av a2 s . c o m COSObject co = new COSObject(new COSString("")); co.setGenerationNumber(new COSInteger(0)); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isString(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); doc.setXRef(new COSObjectKey(co), 1000); COSUtils.isString(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:net.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsStream() { try {/* w ww. j a va2 s.c om*/ COSObject co = new COSObject(new COSStream(null)); co.setGenerationNumber(new COSInteger(0)); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isStream(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); doc.setXRef(new COSObjectKey(co), 1000); COSUtils.isStream(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:net.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsDictionary() { try {/*from w ww.ja v a 2 s .co m*/ COSObject co = new COSObject(new COSDictionary()); co.setGenerationNumber(new COSInteger(0)); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isDictionary(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); doc.setXRef(new COSObjectKey(co), 1000); COSUtils.isDictionary(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:net.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsArray() { try {/* ww w .j ava2s.com*/ COSObject co = new COSObject(new COSArray()); co.setGenerationNumber(new COSInteger(0)); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isArray(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); doc.setXRef(new COSObjectKey(co), 1000); COSUtils.isArray(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:org.apache.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsInteger() { try {/*from w ww . j a v a 2 s . c o m*/ COSObject co = new COSObject(new COSInteger(10)); co.setGenerationNumber(COSInteger.ZERO); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isInteger(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); addToXref(doc, new COSObjectKey(co), 1000); COSUtils.isInteger(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:org.apache.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsFloat() { try {/* ww w . j av a2s . c o m*/ COSObject co = new COSObject(new COSFloat(10.0f)); co.setGenerationNumber(COSInteger.ZERO); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isFloat(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); addToXref(doc, new COSObjectKey(co), 1000); COSUtils.isFloat(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }
From source file:org.apache.padaf.preflight.utils.TestCOSUtils.java
License:Apache License
@Test public void testIsString() { try {// ww w . j a v a 2s.c o m COSObject co = new COSObject(new COSString("")); co.setGenerationNumber(COSInteger.ZERO); co.setObjectNumber(new COSInteger(10)); assertFalse(COSUtils.isString(co, new IOCOSDocument())); COSDocument doc = new COSDocument(); addToXref(doc, new COSObjectKey(co), 1000); COSUtils.isString(co, doc); doc.close(); } catch (IOException e) { fail(e.getMessage()); } }