List of usage examples for javax.swing.text.rtf RTFEditorKit RTFEditorKit
public RTFEditorKit()
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()); }