JAVA API Timeout

Makró készítés, parancsfájl írás és az API használata

JAVA API Timeout

HozzászólásSzerző: Kasi » 2016. február 3., szerda 11:46

Helló!

Dokumentumok pdf-re konvertálása használom az api-t.
Van valakinek arra valamilyen tapasztalata, hogy hogyan lehetne beállítani a valamilyen timeout-ot, hogy ne fusson a konvertálás órákig, ha mondjuk egy 40000 oldalas pdf-et kell megcsinálnia.
Amennyiben szükséges kódot is írok, csak egyszer gondoltam hátha van valami ötlet

Üdv.:
Kasi
OpenOffice 4 a Window 8.1
Kasi
 
Hozzászólások: 2
Csatlakozott: 2016. február 3., szerda 11:34

Re: JAVA API Timeout

HozzászólásSzerző: Zizi64 » 2016. február 3., szerda 14:26

A kód mindenképpen jó lenne, akárki is fog segíteni neked (én jávául sajnos nem értek, az API függvényeket, eljárásokat - ehhez képest - viszonylag jól ismerem ).

Meghökkenve láttam viszont, hogy 40000 (negyvenezer) oldalnyit akarsz konvertáltatni. Mit tartalmaz ez a rettenetesen nagy fájl? Képeket? Grafikonokat?
Egyáltalán a Writer applikációról van szó?
Milyen a forrásfájl típusa? Natív ODF, vagy idegen formátum?

Ezeket is jó lenne tudnia a reménybeli segítőnek.
Sok sikert!
Kovács Tibor (Win7x64Prof/W10x64prof: LO6.1.6;
winPenPack/PortableApps: LO3.3.1-6.3.3, AOO4.1.6
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3496
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: JAVA API Timeout

HozzászólásSzerző: Kasi » 2016. február 3., szerda 14:42

Meghökkenve láttam viszont, hogy 40000 (negyvenezer) oldalnyit akarsz konvertáltatni. Mit tartalmaz ez a rettenetesen nagy fájl? Képeket? Grafikonokat?
Milyen a forrásfájl típusa? Natív ODF, vagy idegen formátum?

Ez csak egy teszt excel(xlsx) fájl minden sorában van kb 4-5 cella sima szöveg.

Java kód:
A connect része
Kód: Egész kijelölése   KinyitásÖsszecsukás
public static void convert(File file, String outputDir) {

      String oooExeFolder = PropertyUtil.getOpenOffice();

      try {
         // get the remote office component context
         XComponentContext xContext = BootstrapSocketConnector.bootstrap(oooExeFolder);
         DocumentConverter.LOG.info("Connected to a running office ...");

         // get the remote office service manager
         com.sun.star.lang.XMultiComponentFactory xMCF = xContext.getServiceManager();

         Object oDesktop = xMCF.createInstanceWithContext("com.sun.star.frame.Desktop", xContext);

         xCompLoader = (XComponentLoader) UnoRuntime.queryInterface(XComponentLoader.class, oDesktop);


A mentés/convertálás része
Kód: Egész kijelölése   KinyitásÖsszecsukás
propertyValues = new com.sun.star.beans.PropertyValue[2];
         // Setting the flag for overwriting
         propertyValues[0] = new com.sun.star.beans.PropertyValue();
         propertyValues[0].Name = "Overwrite";
         propertyValues[0].Value = new Boolean(true);

         // Setting the filter name
         propertyValues[1] = new com.sun.star.beans.PropertyValue();
         propertyValues[1].Name = "FilterName";
         //propertyValues[1].Value = DocumentConverter.sConvertType;
         String ext = null;
         int lastDot = sUrl.lastIndexOf('.');
            if (lastDot > 0) {
                ext = sUrl.substring(lastDot + 1).toLowerCase();
            }

         if (writerTypes.contains(ext)) {
            propertyValues[1].Value = "writer_pdf_Export";
          } else if (calcTypes.contains(ext)) {
             propertyValues[1].Value = "calc_pdf_Export";
          } else if (drawTypes.contains(ext)) {
             propertyValues[1].Value = "draw_pdf_Export";
          } else {
             throw new DocConvertMemorableException(SysKeys.DC_ERROR.UNSUPPORTED_FORMAT);
          }
      
         // Appending the favoured extension to the origin document name
         int index1 = sUrl.lastIndexOf('/');
         int index2 = sUrl.lastIndexOf('.');
         String sStoreUrl = sOutUrl + sUrl.substring(index1, index2 + 1) + DocumentConverter.sExtension;
         
         // Storing and converting the document
         
         xStorable.storeToURL(sStoreUrl, propertyValues);

ez még nagyjából az SDK-ban található example
OpenOffice 4 a Window 8.1
Kasi
 
Hozzászólások: 2
Csatlakozott: 2016. február 3., szerda 11:34

Re: JAVA API Timeout

HozzászólásSzerző: Zizi64 » 2016. február 3., szerda 16:31

OpenOffice 4 a Window 8.1


Ha OOXML szabányú (már amennyire a szabvány MS által támogatott "Transitional" verziója szabvány-nak nevezhető) dokumentumokkal kell dolgoznod, akkor inkább a LibreOffice-t javasolnám használni. Sokkal jobb a kompatibilitása az idegen fájlformátumokkal.
Sok sikert!
Kovács Tibor (Win7x64Prof/W10x64prof: LO6.1.6;
winPenPack/PortableApps: LO3.3.1-6.3.3, AOO4.1.6
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3496
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest


Vissza: Testreszabás és kibővítés

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég

cron