Example usage for javax.swing.text.rtf RTFEditorKit RTFEditorKit

List of usage examples for javax.swing.text.rtf RTFEditorKit RTFEditorKit

Introduction

In this page you can find the example usage for javax.swing.text.rtf RTFEditorKit RTFEditorKit.

Prototype

public RTFEditorKit() 

Source Link

Document

Constructs an RTFEditorKit.

Usage

From source file:com.hexidec.ekit.EkitCore.java

/**
 * Method for saving text as an RTF document
 *///from   w  w  w.  j  a  va2s.c  o m
public void writeOutRTF(StyledDocument doc, File rtfFile) throws IOException, BadLocationException {
    FileOutputStream fos = new FileOutputStream(rtfFile);
    RTFEditorKit rtfKit = new RTFEditorKit();
    rtfKit.write(fos, doc, 0, doc.getLength());
    fos.flush();
    fos.close();
    refreshOnUpdate();
}

From source file:com.hexidec.ekit.EkitCore.java

public String getRTFDocument() throws IOException, BadLocationException {
    StyledDocument doc = (StyledDocument) (jtpMain.getStyledDocument());
    StringWriter strwriter = new StringWriter();
    RTFEditorKit rtfKit = new RTFEditorKit();
    rtfKit.write(strwriter, doc, 0, doc.getLength());
    return strwriter.toString();
}

From source file:org.alder.fotobuchconvert.scribus.RtfToScribusConverter.java

public void convert(XmlBuilder xml, String input, ScribusWriter scribus)
        throws IOException, BadLocationException {
    if (input == null)
        return;//from  w  ww. j  a  va2 s  .c  om

    log.debug("RTF input: " + input);

    CharArrayReader rd = new CharArrayReader(input.toCharArray());

    RTFEditorKit kit = new RTFEditorKit();
    DefaultStyledDocument doc = (DefaultStyledDocument) kit.createDefaultDocument();
    kit.read(rd, doc, 0);

    output(xml, doc, scribus);
}

From source file:org.nuxeo.ecm.core.convert.plugins.text.extractors.RTF2TextConverter.java

@Override
public BlobHolder convert(BlobHolder blobHolder, Map<String, Serializable> parameters)
        throws ConversionException {
    File f = null;//from   w ww.jav  a  2 s .  co m
    try {
        RTFEditorKit rtfParser = new RTFEditorKit();
        Document document = rtfParser.createDefaultDocument();
        rtfParser.read(blobHolder.getBlob().getStream(), document, 0);
        String text = document.getText(0, document.getLength());
        f = Framework.createTempFile("swing-rtf2text", ".txt");
        FileUtils.writeStringToFile(f, text);
        Blob blob;
        try (InputStream in = new FileInputStream(f)) {
            blob = Blobs.createBlob(in, "text/plain");
        }
        return new SimpleCachableBlobHolder(blob);
    } catch (IOException | BadLocationException e) {
        throw new ConversionException("Error during Word2Text conversion", e);
    } finally {
        if (f != null) {
            f.delete();
        }
    }
}

From source file:org.nuxeo.launcher.gui.ColoredTextPane.java

public ColoredTextPane() {
    style = new SimpleAttributeSet();
    setContentType("text/rtf");
    setEditorKit(new RTFEditorKit());
    doc = getDocument();//from w w  w . jav a  2s .  co m
}

From source file:org.obm.push.tnefconverter.RTFUtils.java

private static String extractRtfText(InputStream stream) throws IOException, BadLocationException {
    RTFEditorKit kit = new RTFEditorKit();
    Document doc = kit.createDefaultDocument();
    kit.read(stream, doc, 0);/*from  ww  w.ja v  a 2s  .  c o  m*/

    return doc.getText(0, doc.getLength());
}

From source file:org.silverpeas.core.index.indexing.parser.rtfParser.RtfParser.java

public void outPutContent(Writer out, String path, String encoding) throws IOException {

    FileInputStream in = null;/*w  w  w. j a  v a 2 s .  c o  m*/
    try {
        in = new FileInputStream(path);
        byte[] buffer = new byte[in.available()];
        in.read(buffer, 0, in.available());

        // RTF always uses ASCII, so we don't need to care about the encoding
        String input = new String(buffer);

        String result = null;
        try {
            // use build in RTF parser from Swing API
            RTFEditorKit rtfEditor = new RTFEditorKit();
            Document doc = rtfEditor.createDefaultDocument();
            rtfEditor.read(new StringReader(input), doc, 0);

            result = doc.getText(0, doc.getLength());
        } catch (Exception e) {
            SilverTrace.warn("indexing", "RtfParser.outPutContent()", "", e);
        }
        out.write(result);
    } finally {
        IOUtils.closeQuietly(in);
    }
}

From source file:org.silverpeas.search.indexEngine.parser.rtfParser.RtfParser.java

public void outPutContent(Writer out, String path, String encoding) throws IOException {

    FileInputStream in = null;//from  w ww  .ja  va2  s .  c o  m
    try {
        in = new FileInputStream(path);
        byte[] buffer = new byte[in.available()];
        in.read(buffer, 0, in.available());

        // RTF always uses ASCII, so we don't need to care about the encoding
        String input = new String(buffer);

        // workaround to remove RTF keywords that cause a NPE in Java 1.4
        // this is a known bug in Java 1.4 that was fixed in 1.5
        // please see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5042109 for
        // the official bug report
        // input = TS_REMOVE_PATTERN.matcher(input).replaceAll("");

        String result = null;
        try {
            // use build in RTF parser from Swing API
            RTFEditorKit rtfEditor = new RTFEditorKit();
            Document doc = rtfEditor.createDefaultDocument();
            rtfEditor.read(new StringReader(input), doc, 0);

            result = doc.getText(0, doc.getLength());
        } catch (Exception e) {
            SilverTrace.warn("indexEngine", "RtfParser.outPutContent()", "", e);
        }

        SilverTrace.debug("indexEngine", "RtfParser.outPutContent", "root.MSG_GEN_EXIT_METHOD", result);

        out.write(result);
    } finally {
        IOUtils.closeQuietly(in);
    }
}

From source file:org.thdl.tib.input.TibetanConverter.java

/** Reads from in, closes in, converts (or finds some/all
non-TM/TMW), writes the result to out, does not close out.
The action taken depends on ct, which must be one of a set
number of strings -- see the code.  Uses short error and
warning messages if shortMessages is true; gives no warnings
or many warnings depending on warningLevel.  Returns an
appropriate return code so that TibetanConverter's usage
message is honored. *//*from   w ww.java 2  s.  c o m*/
static int reallyConvert(InputStream in, PrintStream out, String ct, String warningLevel, boolean shortMessages,
        boolean colors) {
    if (UNI_TO_WYLIE_TEXT == ct || WYLIE_TO_ACIP_TEXT == ct || ACIP_TO_WYLIE_TEXT == ct) {
        try {
            /*String uniText;
            {
            // TODO(dchandler): use, here and elsewhere in the
            // codebase,
            // org.apache.commons.io.IOUtils.toString(InputStream,
            // encoding)
            StringBuffer s = new StringBuffer();
            char ch[] = new char[8192];
            BufferedReader bin
                = new BufferedReader(new InputStreamReader(in,
                                                           "UTF-8"));
            int amt;
            while (-1 != (amt = bin.read(ch))) {
                s.append(ch, 0, amt);
            }
            bin.close();
            uniText = s.toString();
            }
            StringBuffer errors = new StringBuffer();
            // TODO(dchandler): DLC: use human-friendly EWTS, not
            // computer-friendly!
            String ewtsText = Converter.convertToEwtsForComputers(uniText,
                                                              errors);
            // TODO(dchandler): is 51 the right choice?
            return (errors.length() > 0) ? 51 : 0;*/
            BasicTibetanTranscriptionConverter bc = null;
            if (UNI_TO_WYLIE_TEXT == ct)
                bc = new BasicTibetanTranscriptionConverter(
                        new BufferedReader(new InputStreamReader(in, "UTF16")), new PrintWriter(out));
            else
                bc = new BasicTibetanTranscriptionConverter(new BufferedReader(new InputStreamReader(in)),
                        new PrintWriter(out));
            bc.run(ct);
            return 0;
        } catch (IOException e) {
            // TODO(dchandler): print it?  where to?
            return 48;
        }
    } else if (ACIP_TO_UNI_TEXT == ct || ACIP_TO_TMW == ct || WYLIE_TO_UNI_TEXT == ct || WYLIE_TO_TMW == ct) {
        try {
            ArrayList al = ((ACIP_TO_UNI_TEXT == ct || ACIP_TO_TMW == ct) ? (TTraits) ACIPTraits.instance()
                    : (TTraits) EWTSTraits.instance()).scanner().scanStream(
                            in, null,
                            ThdlOptions.getIntegerOption((ACIP_TO_UNI_TEXT == ct || ACIP_TO_TMW == ct)
                                    ? "thdl.most.errors.a.tibetan.acip.document.can.have"
                                    : "thdl.most.errors.a.tibetan.ewts.document.can.have", 1000 - 1),
                            shortMessages, warningLevel);
            if (null == al)
                return 47;
            boolean embeddedWarnings = (warningLevel != "None");
            boolean hasWarnings[] = new boolean[] { false };
            if (ACIP_TO_UNI_TEXT == ct || WYLIE_TO_UNI_TEXT == ct) {
                if (!TConverter.convertToUnicodeText(
                        (WYLIE_TO_UNI_TEXT == ct) ? (TTraits) EWTSTraits.instance()
                                : (TTraits) ACIPTraits.instance(),
                        al, out, null, null, hasWarnings, embeddedWarnings, warningLevel, shortMessages))
                    return 46;
            } else {
                if (!TConverter.convertToTMW(
                        (WYLIE_TO_TMW == ct) ? (TTraits) EWTSTraits.instance()
                                : (TTraits) ACIPTraits.instance(),
                        al, out, null, null, hasWarnings, embeddedWarnings, warningLevel, shortMessages,
                        colors))
                    return 46;
            }
            if (embeddedWarnings && hasWarnings[0])
                return 45;
            else
                return 0;
        } catch (IOException e) {
            // TODO(dchandler): print it?  where to?
            return 48;
        }
    } else {
        TibetanDocument tdoc = new TibetanDocument();
        {
            SimpleAttributeSet ras = new SimpleAttributeSet();
            StyleConstants.setFontFamily(ras,
                    ThdlOptions.getStringOption("thdl.default.roman.font.face", "Serif"));
            StyleConstants.setFontSize(ras, ThdlOptions.getIntegerOption("thdl.default.roman.font.size", 14));
            tdoc.setRomanAttributeSet(ras);
        }
        try {
            // Read in the rtf file.
            if (debug)
                System.err.println("Start: reading in old RTF file");
            if (!ThdlOptions.getBooleanOption("thdl.do.not.fix.rtf.hex.escapes"))
                in = new RTFFixerInputStream(in);
            (new RTFEditorKit()).read(in, tdoc, 0);
            if (debug)
                System.err.println("End  : reading in old RTF file");
        } catch (Exception e) {
            out.println("TibetanConverter:\n" + rtfErrorMessage);
            return 3;
        }
        try {
            in.close();
        } catch (IOException e) {
            // silently ignore; we don't care about the input so much...
            ThdlDebug.noteIffyCode();
        }

        if (FIND_ALL_NON_TMW == ct) {
            // 0, -1 is the entire document.
            int exitCode = tdoc.findAllNonTMWCharacters(0, -1, out);
            if (out.checkError())
                exitCode = 41;
            return exitCode;
        } else if (FIND_SOME_NON_TMW == ct) {
            // 0, -1 is the entire document.
            int exitCode = tdoc.findSomeNonTMWCharacters(0, -1, out);
            if (out.checkError())
                exitCode = 41;
            return exitCode;
        } else if (FIND_SOME_NON_TM == ct) {
            // 0, -1 is the entire document.
            int exitCode = tdoc.findSomeNonTMCharacters(0, -1, out);
            if (out.checkError())
                exitCode = 41;
            return exitCode;
        } else if (FIND_ALL_NON_TM == ct) {
            // 0, -1 is the entire document.
            int exitCode = tdoc.findAllNonTMCharacters(0, -1, out);
            if (out.checkError())
                exitCode = 41;
            return exitCode;
        } else { // conversion {to Wylie or TM} mode
            // Fix curly braces in the entire document if the input is TMW:
            if (TM_TO_TMW != ct) {
                // DLC make me optional
                if (debug)
                    System.err.println("Start: solving curly brace problem");
                tdoc.replaceTahomaCurlyBracesAndBackslashes(0, -1);
                if (debug)
                    System.err.println("End  : solving curly brace problem");
            }

            int exitCode = 0;
            ThdlDebug.verify(((TMW_TO_TM == ct) ? 1 : 0) + ((TMW_TO_SAME_TMW == ct) ? 1 : 0)
                    + ((TMW_TO_UNI == ct) ? 1 : 0) + ((TM_TO_TMW == ct) ? 1 : 0) + ((TMW_TO_ACIP == ct) ? 1 : 0)
                    + ((TMW_TO_ACIP_TEXT == ct) ? 1 : 0) + ((TMW_TO_WYLIE == ct) ? 1 : 0)
                    + ((TMW_TO_WYLIE_TEXT == ct) ? 1 : 0) == 1);
            long numAttemptedReplacements[] = new long[] { 0 };
            if (TMW_TO_SAME_TMW == ct) {
                // Identity conversion for testing
                if (tdoc.identityTmwToTmwConversion(0, tdoc.getLength(), numAttemptedReplacements)) {
                    exitCode = 50;
                }
            } else if (TMW_TO_WYLIE == ct || TMW_TO_WYLIE_TEXT == ct) {
                // Convert to THDL Wylie:
                if (!tdoc.toWylie(0, tdoc.getLength(), numAttemptedReplacements)) {
                    exitCode = 44;
                }
            } else if (TMW_TO_ACIP == ct || TMW_TO_ACIP_TEXT == ct) {
                // Convert to ACIP:
                if (!tdoc.toACIP(0, tdoc.getLength(), numAttemptedReplacements)) {
                    exitCode = 49;
                }
            } else if (TMW_TO_UNI == ct) {
                StringBuffer errors = new StringBuffer();
                // Convert to Unicode:
                if (tdoc.convertToUnicode(0, tdoc.getLength(), errors,
                        ThdlOptions.getStringOption("thdl.tmw.to.unicode.font").intern(),
                        numAttemptedReplacements)) {
                    System.err.println(errors);
                    exitCode = 42;
                }
            } else if (TM_TO_TMW == ct) {
                StringBuffer errors = new StringBuffer();
                // Convert to TibetanMachineWeb:
                if (tdoc.convertToTMW(0, tdoc.getLength(), errors, numAttemptedReplacements)) {
                    System.err.println(errors);
                    exitCode = 42;
                }
            } else {
                ThdlDebug.verify(TMW_TO_TM == ct);
                StringBuffer errors = new StringBuffer();
                // Convert to TibetanMachine:
                if (tdoc.convertToTM(0, tdoc.getLength(), errors, numAttemptedReplacements)) {
                    System.err.println(errors);
                    exitCode = 42;
                }
            }

            // Write to standard output the result:
            if (TMW_TO_WYLIE_TEXT == ct || TMW_TO_ACIP_TEXT == ct) {
                try {
                    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
                    tdoc.writeTextOutput(bw);
                    bw.flush();
                } catch (IOException e) {
                    exitCode = 40;
                }
            } else {
                try {
                    tdoc.writeRTFOutputStream(out);
                } catch (IOException e) {
                    exitCode = 40;
                }
            }
            if (out.checkError())
                exitCode = 41;
            if (numAttemptedReplacements[0] < 1)
                exitCode = 43;

            return exitCode;
        }
    }
}

From source file:sernet.gs.ui.rcp.gsimport.TransferData.java

public static String convertRtf(String notizText) throws IOException, BadLocationException {
    StringReader reader = new StringReader(notizText);
    RTFEditorKit kit = new RTFEditorKit();
    Document document = kit.createDefaultDocument();
    kit.read(reader, document, 0);//from  w  w w . java  2 s. c  o  m
    // return plaintext
    return document.getText(0, document.getLength());
}