рд╣рдо рд▓рд┐рдмрд░рдСрдлрд┐рд╕, рдЬреЙрдбрдХреЛрдирд┐рдХреНрд╕ рдФрд░ рдЯрд╛рдЗрдиреАрдПрдорд╕реАрдИ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рджреГрд╢реНрдп рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рдВрдкрд╛рджрдХ рдмрдирд╛рддреЗ рд╣реИрдВ

рдореБрдЭреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреИрд╕реЗ рдкрд╕рдВрдж рд╣реИрдВ! рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Excel рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд┐рдЫрд▓рд╛ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ, рдмрд╣реБрдд рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдп рдХреБрдЫ рд╣рдж рддрдХ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдирдпрд╛ рдХрд╛рд░реНрдп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдПрдХ рддреИрдпрд╛рд░ рдПрдХреНрд╕реЗрд▓ рдпрд╛ рд╢рдмреНрдж рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ, рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдПрдВред рдЧрдарди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ / рдпрд╛ "рдХреНрд▓реЛрди" рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЧрдарди рдХреЗ рдмрд╛рдж, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдорд╛рдкреНрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ (* .doc / *ред Xls) рдФрд░ рдкреАрдбреАрдПрдл рджреЛрдиреЛрдВ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕реА рд╕рдордп, рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдЙрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдорд╛рд░реНрдЬрд┐рди рдФрд░ рдкреНрд░рд┐рдВрдЯ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рд╡рд┐рд░реВрдкрдг рдХреЗ рдмрд┐рдирд╛)ред

рдЦреИрд░, рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ - рд╣рдо рдЗрд╕реЗ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ!





1. рд╕рд╛рдмрд┐рдд рдЙрдкрдХрд░рдг

рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд┐рдП рдмрд┐рдирд╛ рдбреЙрдХреНрдЯрд░, рдбреЙрдХреНрд╕, xls, xlsx рд╕реЗ html рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рдбрд┐рд╕реНрдЯрд┐рд▓ рдХрд░реЗрдВред



Apache POI: рдПрдХ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рдЬрд┐рд╕рдХрд╛ рд╣рдордиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ HTML рдорд╛рд░реНрдХрдЕрдк рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдПред

DocX4J: рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд▓рдВрдмреА рдХрд╣рд╛рдиреА рд░рд╣реА рд╣реИред рд╡рд╣ рдЬрд╛рдирддреА рд╣реИ рдХрд┐ рд╣рд░ рддрд░рд╣ рдХреА рд╕реБрдЦрдж рдмрд╛рддреЗрдВ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╣ рдмрд╛рд░-рдмрд╛рд░ рд▓рд┐рдЦрддреА рд╣реИред рдФрд░ рд╢реБрд░реВ рдореЗрдВ рд╣рдо рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред

DocX4J рдХреЗ рдиреБрдХрд╕рд╛рди: рдЖрдк рдХреЗрд╡рд▓ рдбреЙрдХреНрд╕ рдФрд░ xlsx рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╕рдорд╕реНрдпрд╛ рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдк HTML рдХреЛ docx рдпрд╛ xlsx рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рднреА рд╢реИрд▓рд┐рдпрд╛рдБ рдЬрд╛рддреА рд╣реИрдВ, рдЖрдо рддреМрд░ рдкрд░ рдлреЛрдВрдЯ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЖрджрд┐ред рд╣рдордиреЗ рдбреЗрд╡рд▓рдкрд░ рдХреА рдУрд░ рд░реБрдЦ рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рднреБрдЧрддрд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - docx4j-web-editorред рд▓реЗрдХрд┐рди рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рднреА рдЕрдкрдиреЗ рдмрдЧ рдХреЗ рд╕рд╛рде рдирд┐рдХрд▓рд╛ред рдХреЛрдЯрд╕реЛрд╡ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рднреА рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред



рдЗрд╕рдХрд╛ рдЙрдкрд╛рдп рд▓рд┐рдмрд░рдСрдлрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЙрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ HTML рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рджреЗрдВред рдпрд╣ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рд╡реЗрдм-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред

рд▓рд┐рдмреНрд░реЗ рдСрдлрд┐рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫреЛрдЯреА рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЬреЛрдбреЙрдиреНрдХреНрд╕реЗрд╕рд░ , рдЬреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЯреАрд╕реАрдкреА рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдмреНрд░реЗ рдСрдлрд┐рд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓ рджреЗрддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдлрд╛рдЗрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрддреА рд╣реИред рдпрд╣ рд╕рдм рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рд┐рдмрд░рдСрдлрд┐рд╕ рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреЛрдЭрд┐рд▓ рдХрд╛рд░реНрдп рд╕реЗ рдореБрдХреНрдд рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдвреЗрд░ рдореЗрдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВред



2. рдлрд╛рдЗрд▓ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрд╕рд╕реЗ рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдПрдВ



рд▓реЗрдХрд┐рди jodconverter рд╕рд░реНрд╡рд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЗрдВред



рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде jodconverter рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдЖрд╡рд░рдг рд╡рд░реНрдЧ рд╣реИ:
Libre.java

package ru.cpro.uchteno.util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.logging.Level; import java.util.logging.Logger; import org.artofsolving.jodconverter.OfficeDocumentConverter; import org.artofsolving.jodconverter.office.ExternalOfficeManagerConfiguration; import org.artofsolving.jodconverter.office.OfficeConnectionProtocol; import org.artofsolving.jodconverter.office.OfficeManager; public class Libre {//    public static void doc2html(InputStream is, OutputStream os) {// doc  html try { File inf = File.createTempFile("doc", ".doc"); //   FileOutputStream infos = new FileOutputStream(inf); //    //        int n = 0; byte buff[] = new byte[1024]; while (n >= 0) { n = is.read(buff); if (n > 0) { infos.write(buff, 0, n); } } //  is.close(); infos.close(); //   File onf = File.createTempFile("doc", ".html"); //  jodconverter' ExternalOfficeManagerConfiguration officeConfiguration = new ExternalOfficeManagerConfiguration(); // tcp  officeConfiguration .setConnectionProtocol(OfficeConnectionProtocol.SOCKET); // officeConfiguration.setPortNumber(2002); //   officeManager OfficeManager officeManager = officeConfiguration .buildOfficeManager(); //     officeManager.start(); //  OfficeDocumentConverter converter = new OfficeDocumentConverter( officeManager); //    converter.convert(inf, onf); //  officeManager.stop(); //         FileInputStream outfis = new FileInputStream(onf); n = 0; while (n >= 0) { n = outfis.read(buff); if (n > 0) { os.write(buff, 0, n); } } //  outfis.close(); os.close(); //   inf.delete(); onf.delete(); } catch (IOException ex) { Logger.getLogger(Libre.class.getName()).log(Level.SEVERE, null, ex); } } public static void doc2pdf(InputStream is, OutputStream os) { try { File inf = File.createTempFile("doc", ".doc"); FileOutputStream infos = new FileOutputStream(inf); int n = 0; byte buff[] = new byte[1024]; while (n >= 0) { n = is.read(buff); if (n > 0) { infos.write(buff, 0, n); } } is.close(); infos.close(); File onf = File.createTempFile("doc", ".pdf"); ExternalOfficeManagerConfiguration officeConfiguration = new ExternalOfficeManagerConfiguration(); officeConfiguration .setConnectionProtocol(OfficeConnectionProtocol.SOCKET); officeConfiguration.setPortNumber(2002); OfficeManager officeManager = officeConfiguration .buildOfficeManager(); officeManager.start(); OfficeDocumentConverter converter = new OfficeDocumentConverter( officeManager); converter.convert(inf, onf); officeManager.stop(); FileInputStream outfis = new FileInputStream(onf); n = 0; while (n >= 0) { n = outfis.read(buff); if (n > 0) { os.write(buff, 0, n); } } outfis.close(); os.close(); inf.delete(); onf.delete(); } catch (IOException ex) { Logger.getLogger(Libre.class.getName()).log(Level.SEVERE, null, ex); } } public static void html2doc(InputStream is, OutputStream os) { try { File inf = File.createTempFile("doc", ".html"); FileOutputStream infos = new FileOutputStream(inf); int n = 0; byte buff[] = new byte[1024]; while (n >= 0) { n = is.read(buff); if (n > 0) { infos.write(buff, 0, n); } } is.close(); infos.close(); File onf = File.createTempFile("doc", ".doc"); ExternalOfficeManagerConfiguration officeConfiguration = new ExternalOfficeManagerConfiguration(); officeConfiguration .setConnectionProtocol(OfficeConnectionProtocol.SOCKET); officeConfiguration.setPortNumber(2002); OfficeManager officeManager = officeConfiguration .buildOfficeManager(); officeManager.start(); OfficeDocumentConverter converter = new OfficeDocumentConverter( officeManager); converter.convert(inf, onf); officeManager.stop(); FileInputStream outfis = new FileInputStream(onf); n = 0; while (n >= 0) { n = outfis.read(buff); if (n > 0) { os.write(buff, 0, n); } } outfis.close(); os.close(); inf.delete(); onf.delete(); } catch (IOException ex) { Logger.getLogger(Libre.class.getName()).log(Level.SEVERE, null, ex); } } public static void html2docx(InputStream is, OutputStream os) { try { File inf = File.createTempFile("doc", ".html"); FileOutputStream infos = new FileOutputStream(inf); int n = 0; byte buff[] = new byte[1024]; while (n >= 0) { n = is.read(buff); if (n > 0) { infos.write(buff, 0, n); } } is.close(); infos.close(); File onf = File.createTempFile("doc", ".docx"); ExternalOfficeManagerConfiguration officeConfiguration = new ExternalOfficeManagerConfiguration(); officeConfiguration .setConnectionProtocol(OfficeConnectionProtocol.SOCKET); officeConfiguration.setPortNumber(2002); OfficeManager officeManager = officeConfiguration .buildOfficeManager(); officeManager.start(); OfficeDocumentConverter converter = new OfficeDocumentConverter( officeManager); converter.convert(inf, onf); officeManager.stop(); FileInputStream outfis = new FileInputStream(onf); n = 0; while (n >= 0) { n = outfis.read(buff); if (n > 0) { os.write(buff, 0, n); } } outfis.close(); os.close(); inf.delete(); onf.delete(); } catch (IOException ex) { Logger.getLogger(Libre.class.getName()).log(Level.SEVERE, null, ex); } } public static void html2pdf(InputStream is, OutputStream os) { try { File inf = File.createTempFile("doc", ".html"); FileOutputStream infos = new FileOutputStream(inf); int n = 0; byte buff[] = new byte[1024]; while (n >= 0) { n = is.read(buff); if (n > 0) { infos.write(buff, 0, n); } } is.close(); infos.close(); File onf = File.createTempFile("doc", ".pdf"); ExternalOfficeManagerConfiguration officeConfiguration = new ExternalOfficeManagerConfiguration(); officeConfiguration .setConnectionProtocol(OfficeConnectionProtocol.SOCKET); officeConfiguration.setPortNumber(2002); OfficeManager officeManager = officeConfiguration .buildOfficeManager(); officeManager.start(); OfficeDocumentConverter converter = new OfficeDocumentConverter( officeManager); converter.convert(inf, onf); officeManager.stop(); FileInputStream outfis = new FileInputStream(onf); n = 0; while (n >= 0) { n = outfis.read(buff); if (n > 0) { os.write(buff, 0, n); } } outfis.close(); os.close(); inf.delete(); onf.delete(); } catch (IOException ex) { Logger.getLogger(Libre.class.getName()).log(Level.SEVERE, null, ex); } } }
      
      









3. рд╣рдо рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ



рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ HTML рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЪрд╛рд▓рди рд╡реЗрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд░реНрдгрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



4. рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрди



рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреА рдЕрдкрдиреА рдЦрд╝рд╛рд╕рд┐рдпрдд рд╣реИ - рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрдХ HTML рдХреЛрдб рдХреЛ рдЦрд░рд╛рдм рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рдкреАрдЫреЗ рдХреА рдУрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдкреВрд░рд╛ рд▓реЗрдЖрдЙрдЯ рдорд╛рдиреНрдпрддрд╛ рд╕реЗ рдкрд░реЗ рд╡рд┐рдХреГрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдБрдЪреЗ рдХрд┐ рдЯрд┐рдиреАрдПрдорд╕реАрдИ рдХрдо рд╕реЗ рдХрдо рдЪрддреБрд░рд╛рдИ рд╕реЗ рдорд╛рд░реНрдХрдЕрдк рдХреЛ рдмрд┐рдЧрд╛рдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред



рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдкреЛрдХрд┐рдВрдЧ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╣рдордиреЗ рдЗрд╖реНрдЯрддрдо рд╕рдВрдкрд╛рджрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛:



 tinymce.init({ selector: "textarea", theme: "modern", fullpage_default_doctype: "<!DOCTYPE xhtml>", plugins: [ "advlist autolink lists link image charmap print preview hr anchor pagebreak", "searchreplace wordcount visualblocks visualchars code fullscreen", "insertdatetime media nonbreaking save table contextmenu directionality", "emoticons template paste textcolor fullpage" ], toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image", toolbar2: "print preview media | forecolor backcolor emoticons", image_advtab: true });
      
      







рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░, DOM рдореЗрдВ рд╕рдВрдкрд╛рджрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, tinyMCE.triggerSave();



рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ tinyMCE.triggerSave();







5. рддреИрдпрд╛рд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ



рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдлрд┐рд░ рд╕реЗ Libre.java



рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:



рдХрдиреНрд╡рд░реНрдЯ html рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрдЯрд░ - html2doc()





HTML рдХреЛ docx рдореЗрдВ рдмрджрд▓реЗрдВ - html2docx()





HTML рдХреЛ PDF рдореЗрдВ рдмрджрд▓реЗрдВ - html2pdf()







рд╡рд╣, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рд╣реИред рд╣рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдЦрд░реЗ рдХреЗ рд╕рд╛рде рдирд╛рдЪрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ!



рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рд╕рд╛рдордЧреНрд░реА: akaiser , boiler5 ред



All Articles