JAVA API Timeout

Makró készítés, parancsfájl írás és az API használata
Kasi
Hozzászólások: 2
Csatlakozott: 2016. február 3., szerda 11:34

JAVA API Timeout

Hozzászólás Szerző: Kasi »

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
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: JAVA API Timeout

Hozzászólás Szerző: Zizi64 »

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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Kasi
Hozzászólások: 2
Csatlakozott: 2016. február 3., szerda 11:34

Re: JAVA API Timeout

Hozzászólás Szerző: Kasi »

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

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

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
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: JAVA API Timeout

Hozzászólás Szerző: Zizi64 »

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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Válasz küldése