Sorunuzu Sorun
1

Sistem Tarafından Oluşturulan OD(X) Dosyalarında Sürüm Uyumsuzluğu

2017-01-02 13:45:50 +0200 soruldu

<CODE>Pardus LibreOffice Robotu</code> Gravatar görüntüsü

Merhabalar, Aslında sorun sadece Kelime İşlemci ile alakalı değil, diğer uygulamlarla ilgili ama yazacak uygun bir yer bulamadım. Bunun için yöneticilerden şimdiden özür dilerim.

Sorunum, sistem tarafından oluşturulan ODX (odt, ods, odb...) dosyalarının LibreOffice tarafından "Sürüm Uyumsuzluğu. Yanlış dosya sürümü" hatası vererek açılmaması. Öncelikle hatayı Python ile yazdığım uygulamalarda aradım ama doğrudan konsoldan "touch" komutuyla oluşturulan dosyalarda da aynı uyarı ile karşılaşıyorum. Arch 32 bit sistemde LO 4.1.4 kullanıyorum.

Bunun sebebi ve çözümü hakkında fikri olan var mı? Şimdiden teşekkürler.

Asıl soru: http://forum.libreoffice.org.tr/viewt...

düzenle yeniden etiketle saldırgan olarak işaretle kapat birleştir sil

1 Cevap

1

2019-04-26 11:08:54 +0200 cevapladı

<CODE>HidayetKurnaz</code> Gravatar görüntüsü

2019-04-26 11:33:26 +0200 updated

Güzel soru.

Neden basit touch komutu ile .odt uzantılı dosya oluşturamıyacağımız sorulmuş. (en azından o zaman)

Şuan böyle bir problem yok touch komutu ile .odt dosyası oluşturup içine echo ile yazı yazılabiliyor. Ve dosya sorunsuz açılıyor.

Calc .ods dosyası içinde touch komutu ile boş belge oluşturma mümkün ama içine echo ile içerik girerken kod sorunu yasanması gayet mantıklı.

Zamanında verilen cevap konuyu açıklayıcı burada bulunmasında fayda var. Sabri Ünal'dan alıntıdır.


Herhangi bir uygulama tarafından odt dosyası oluşturmak istiyorsunuz anladığım.

Dilerseniz konuya ben de PHP tarafından bakayım.

~~~~~~~

ODT dosyası aslında zip formatında bir içeriğe sahiptir.

test.odt dosyasını test.zip diye değiştirip iç yapısını görüntülerseniz

Kod: 
    Configurations2/
    META-INF/
    Thumbnails/
    content.xml
    layout-cache
    manifest.rdf
    meta.xml
    mimetype
    settings.xml
    styles.xml

Klasör ve dosyalarına sahip olduğunu görürsünüz.

İlk işlem olarak META-INF/ klasörüne bulunan manifest.xml dosyasına başvurulmaktadır.

Dosyanın içeriği şöyle

     <?xml version="1.0" encoding="UTF-8"?>
>         <manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"
 manifest:version="1.2">
>          <manifest:file-entry manifest:full-path="/"
> manifest:version="1.2"
> manifest:media-type="application/vnd.oasis.opendocument.text"/>
>          <manifest:file-entry manifest:full-path="Thumbnails/thumbnail.png"
> manifest:media-type="image/png"/>
>          <manifest:file-entry manifest:full-path="layout-cache"
> manifest:media-type="application/binary"/>
>          <manifest:file-entry manifest:full-path="content.xml"
> manifest:media-type="text/xml"/>
>          <manifest:file-entry manifest:full-path="settings.xml"
> manifest:media-type="text/xml"/>
>          <manifest:file-entry manifest:full-path="meta.xml"
> manifest:media-type="text/xml"/>
>          <manifest:file-entry manifest:full-path="styles.xml"
> manifest:media-type="text/xml"/>
>          <manifest:file-entry manifest:full-path="manifest.rdf"
> manifest:media-type="application/rdf+xml"/>
>          <manifest:file-entry manifest:full-path="Configurations2/accelerator/current.xml"
> manifest:media-type=""/>
>          <manifest:file-entry manifest:full-path="Configurations2/"
> manifest:media-type="application/vnd.sun.xml.ui.configuration"/>
>         </manifest:manifest>

mimetype uzantısız dosyası dosya tipini tutmaktadır.

Kod:
    application/vnd.oasis.opendocument.text

Bu dosyanın opendocument.text /odt olduğu buradan anlaşılmaktadır.

meta.xml dosyasında inkar edemeyeceğiniz imzalar bulunmaktadır. Temel olarak birilerine gönderdiğinizde dökümanın sizi ele veren kısmıdır :)

Content.xml ise asıl içeriğimizi taşımaktadır.

bu bağlamda touch test.odt şeklinde oluşturulmuş bir basit dosyanın neden açılmayacağını anlamıştırsınız umarım.

~~~~~~~~~~~~~~~~~

Tersine bir işlem olarak, bu klasör yapısına ve gerekli dosya uyumluluklarına sahip bir dosya çıktısı zipleyip basabiliyorsanız, openoffice/libreoffice ile açılmaması için bir sebep görünmemekte.

php ile odt basmak değil ama, bir ara php ile EPUB dosyası export itmek için uğraşmıştım. Öylece kala kaldı.

Şimdi ise WebODT projesi ile uğraşıyor, kimi özgür yazılım sevenler.

düzenle saldırgan olarak işaretle sil bağlantı daha fazla
Cevaplamak için Giriş yapın veya Üye olun.

Soru Araçları

1 takipçi

İstatistikler

Soruldu: 2017-01-02 13:45:50 +0200

Görüldü: 23 kez

Son güncelleme: Apr 26