Example usage for org.apache.pdfbox.cos COSInteger COSInteger

List of usage examples for org.apache.pdfbox.cos COSInteger COSInteger

Introduction

In this page you can find the example usage for org.apache.pdfbox.cos COSInteger COSInteger.

Prototype

private COSInteger(long val) 

Source Link

Document

constructor.

Usage

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());
    }
}