arşiv

yazılar buna göre etiketlendi; ‘openoffice’

OpenOffice’te Tablo Oluşturmak (Kolay Yöntem)

Pazartesi, 08 Mar 2010

Bugün OpenOffice ile çalışırken (kendi açımdan) yeni bir şey keşfettim.  Bu keşif benim çok hoşuma gittiği için bunu sizinle de paylaşayım istedim!… :)

OpenOffice’te tablo oluşturmanın klasik yöntemini bilenler bilir. O yüzden bunu bir kenara bırakıyorum. OpenOffice’te tablo oluşturmanın bir de klasik olmayan bir yöntemi var. Bakın nasıl?

Boş bir Writer belgesi açıp içine şunu yazıyoruz:

+---------------+------------------+-------------------+

Son “+” işaretini koyar koymaz ENTER tuşuna basıyoruz ve karşımızda üç sütunlu ve tek satırlı bir tablo!… Çok hoş, değil mi?

Bu arada, tablodaki sütunların genişliğini, “-” işaretlerini azaltarak veya artırarak, her bir sütun için ayrı ayrı belirleyebiliyorsunuz.

GNU/Linux ,

OpenOffice’te Kalın ve Altı Çizili Metinler

Pazartesi, 01 Mar 2010

OpenOffice adlı yazılım, bazı aksaklıklarına rağmen, bugün Microsoft’un Office takımına karşı en büyük ve en gelişmiş özgür alternatiftir. OpenOffice bazen beni sinirlendirse de kullanmaktan vazgeçmediğim yazılımların başında geliyor…

Geçen gün OpenOffice Writer’da bir yazı yazarken, bir kelimeyi yatık harflerle göstermem gerekti. reStructuredText’ten kalma el alışkanlığıyla, yatık yazacağım kelimenin soluna ve sağına birer tane “*” işareti koyuverdim dalgınlıkla. Tabii OpenOffice’te kelimeleri yatık yazmanın yöntemi bu değil… Ama ben bu yıldız işaretlerini koyar koymaz OpenOffice o kelimeyi kalın harfli bir kelimeye dönüştürdü birdenbire. Birkaç deneme yaptıktan sonra hayal görmediğimi, OpenOffice’in böyle bir özelliği olduğunu anladım. Yani mesela OpenOffice’te “elma” kelimesini *elma* şeklinde yazarsanız bu kelime kalın harflerle gösteriliyor.

Bunu internette araştırdığımda gördüm ki buna benzer başka şeyler de varmış. Mesela “elma” kelimesinin altını çizmek isterseniz kelimeyi “_elma_”  şeklinde yazmanız yeterli oluyor…

Belki siz, “E, n’olmuş?” diyeceksiniz, ama bana nedense çok ilginç geldi bu özellik. :)

GNU/Linux

Python Kitabı Hakkında Teknik Bilgiler

Çarşamba, 17 Şub 2010

istihza.com‘da yer alan Python 2.x ve Tkinter 2.x bölümlerinin KODLAB Yayınları‘ndan basılı kitap olarak çıkacağını duyurmuştum. Kitap birkaç gün önce internet mağazalarında satılmaya başlandı. Cuma günü de bu kitabı kitapçıların raflarında görmeye başlayacağız…

Dilerseniz şimdi size kitap hakkında biraz teknik bilgi vereyim.

Bildiğiniz gibi, istihza.com’daki belgeleri reStructuredText biçiminde hazırlıyorum. Bu sayede tek bir biçimde hazırladığım belgeleri  daha sonra rahatlıkla HTML ve PDF biçimlerine dönüştürerek okurlara sunabiliyorum. Yazıları reStructuredText olarak hazırlamak sitenin güncellenmesi açısından da bana çok büyük bir kolaylık sağlıyor. reStructuredText’in sade ve temiz yapısı sayesinde asıl işe odaklanabiliyorum.

Dediğim gibi, reStructuredText (ya da başka bir ifadeyle “rst”) biçiminde hazırlanmış belgeleri başka biçimlere çevirmek mümkün olabiliyor. Ben bu çevirme işi için, Python geliştiricilerinin de python.org’daki belgeleri hazırlamada kullandığı Sphinx adlı yazılımdan faydalanıyorum. Bu yazılımı, belgelendirme ile uğraşan herkese gönül rahatlığıyla önerebilirim…

KODLAB Yayınları bana istihza.com’daki Python 2.x ve Tkinter bölümlerini kitaplaştırmayı teklif ettikten sonra benden belgeleri .doc biçiminde istedi. Benim Windows bilgisayarlara erişimim son derece kısıtlı olduğu için elbette benim bu belgeleri doğrudan .doc biçiminde hazırlamam mümkün değildi. Ama OpenOffice’te hazırlanan .odt belgeleri .doc olarak da kaydedilebildiği için bu durum ciddi bir sorun teşkil etmedi. İşin daha da güzel tarafı, docutils paketi içinde rst2odt adlı bir betik bulunuyor. Bu betik yardımıyla reStructuredText olarak hazırlanmış belgeleri tek bir komutla .odt’ye çevirebiliyoruz. Bu belgeleri .odt’ye çevirdikten sonra da belgeyi OpenOffice ile açıp başlık, kod bloğu, paragraf ve benzeri özel alanlara istediğimiz stilleri uygulamak mümkün.

OpenOffice bu .odt belgelerini .doc biçiminde de kaydedebildiği için bunları KODLAB’ın istediği şekilde kendilerine teslim ettim. Yalnız bu noktada şöyle bir durum ortaya çıktı. Ben elimdeki rst belgelerini rst2odt betiği yardımıyla .odt’ye dönüştürdükten ve gerekli stilleri .odt belgesine uyguladıktan sonra metni son haline getirmek için doğrudan .odt belgeleri üzerinde çalıştım. Bu sayede epey zaman kazanmış oldum. Çünkü eğer yapacağım değişiklikleri doğrudan rst üzerinde yapsaydım bu belgeleri tekrar tekrar .odt’ye dönüştürüp, tekrar tekrar gerekli stilleri uygulamam gerekecekti.

Bu nedenle KODLAB’a teslim ettiğim belgelerle istihza.com üzerindeki belgeler arasında bazı metin farklılıkları ortaya çıkmış oldu. Örneğin Python 2.x bölümündeki Fonksiyonlar ve Modüller kısımlarını KODLAB’a teslim ettiğim belgelerde baştan aşağı  yeniden yazdım. Ancak istihza.com takipçilerinin endişelenmesine hiç gerek yok, çünkü değiştirdiğim .odt belgelerini tekrar rst’ye dönüştürüp istihza.com’a ekledim ve eklemeye devam ediyorum. Ancak ne yazık ki “odt2rst” diye bir betik bulunmuyor… Aslında bu ada sahip bir betik var, ama bu betik henüz geliştirme aşamasında olduğu için doğru düzgün çalışmıyor. O yüzden .odt belgelerini .rst’ye elle çevirmem gerekiyor. Bu da zaman alıcı bir işlem olduğu için beni biraz zorluyor.

Bu arada hatırlatmama gerek var mı bilmiyorum, ama söyleyeyim: KODLAB’dan çıkacak Python kitabının içindeki bilgilere ücretsiz olarak istihza.com üzerinden erişebilmeye devam edebileceksiniz. Ben istihza.com’daki bu belgeleri eskisi gibi güncellemeye devam edeceğim. Yukarıda bahsettiğim teknik nedenden ötürü site ve kitap arasında oluşan farklılık çok büyük değil. Zaten ben bu değişiklikleri istihza.com’a aktarıyor olduğum için endişelenmenizi gerektirecek bir durum yok.

Bu arada, kitabı hazırlama sürecinde Samsun Ondokuz Mayıs Üniversitesi Bilgisayar Mühendisliği Bölümü’nden, istihza.com’daki belgeleri üniversitede verilecek Python derslerinde kullanmak için izin isteyen bir mektup aldım. Elbette ben de kendilerine sitedeki belgeleri istedikleri gibi indirip kopyalayabileceklerini söyledim. Ancak bildiğiniz gibi, istihza.com’daki konuları hazırlarken oldukça “teklifsiz” ve “rahat” bir dil kullanıyorum. Bu belgeleri KODLAB’a teslim etmek üzere hazırlarken bazı yerlerde bu rahatlık meselesinin dozunu biraz kaçırmış olduğumu farkettim… :) Ben belgeleri KODLAB’ın istediği şekilde hazırlayıp kendilerine teslim ettiğimde KODLAB da bu konuda beni uyardı. Yukarıda dediğim gibi, kitabın üniversite çevrelerinde kullanılma olasılığı da olduğu için, metinlerdeki ses tonunu bir miktar ciddileştirdim. Kitap için yaptığım değişiklikleri istihza.com’a da aktaracağım için, yakın zamanda bu ses tonu istihza.com’a da yansıyacak. Ancak elbette “ciddi” derken “asık suratlı”yı kastetmiyorum. istihza.com’daki bilgiler yine olabildiğince eğlenceli ve herkesin anlayabileceği tarzda sunulmaya devam edecek.

Gelelim kitabın içeriğine…

Sevgili arkadaşlar, istihza.com’daki bütün bilgileri topladığınız zaman ortaya 1000 sayfaya yakın bir belge bütünü çıkıyor. KODLAB’a teslim ettiğim Python kitabında istihza.com’daki Python 2.x ve Tkinter bölümleri yer alıyor. Ayrıca bu iki bölüme ek olarak, sitede “Özel Konular” başlığı altında sunduğumuz bazı makalelere de yer verdim. Ancak bu makalelerin hepsini kitaba almadım. Çünkü KODLAB’a teslim ettiğim kitap şu haliyle bile tam 544 sayfa oldu. :) Eğer her şeyi kitaba almaya kalksaydım, ortaya hem tuğla gibi, hem de KODLAB açısından haddinden fazla  maliyetli bir kitap çıkmış olacaktı…

Bilirsiniz, eskiden kitap yazarı denince akla oldukça fantastik bir şey gelirdi. Bundan birkaç yıl öncesine kadar kitap yazarları biz okurlar için ulaşılmaz bir konumdaydılar. Yazar kitabı hazırlar ve köşesine çekilirdi. Kitap hakkındaki sorularımız, şüphelerimiz konusunda çaresizdik. Ama bu Python Kitabı’nda durum böyle değil. Kitabın yazarına nereden ulaşacağınızı biliyorsunuz… :) Kitapta gördüğünüz eksiklikleri ve önerilerinizi bildirmek konusunda yalnız ve çaresiz değilsiniz. Kitapla ilgili herhangi bir sorunuz olması durumunda istihza.com’a başvurabilir, kistihza[at]yahoo[nokta]com adresinden bana ulaşabilirsiniz. Bu arada istihza.com’u da takip etmeyi unutmayın. Çünkü kitap dediğiniz şey statik bir ortamdır. istihza.com ise dinamik…

Dediğim gibi, kitabın içindeki bilgilere (ve hatta daha fazlasına) istihza.com üzerinden ücretsiz olarak da erişebilmeye devam edeceksiniz. Bu kitabı çıkarmamızın amacı kitaptan okumayı sevenlerin isteğine yanıt verebilmek. Eğer kitabı satın alırsanız istihza.com’u maddi olarak desteklemiş olursunuz, ancak tabii ki böyle bir zorunluluk asla söz konusu değil. Kitabı satın almak istemiyor olabilirsiniz, maddi gücünüz kitabı almaya yetmiyor olabilir,  ya da bambaşka sebepleriniz olabilir. Hiçbirine itirazım yok. Bu durumda istihza.com’daki bilgileri site üzerinden veya PDF biçiminde indirerek ücretsiz olarak takip etmeye devam edebilirsiniz. Her zaman dediğim gibi, istihza.com projesinin amacı bilgiye erişimi olabildiğince kolaylaştırmaktır. İnsanları kitabı satın almaya yönlendirmek için istihza.com’un geri bırakılması, güncellemeden kaçınılması kesinlikle söz konusu değil. Önümüzdeki günlerde istihza.com gümbür gümbür büyümeye devam edecek… :)

Bu kitapla ortaya güzel ve faydalı bir şey çıkarmaya çalıştık. Python programlama diliyle ilgilenen herkesin bu kitapta kendilerine uygun bir şeyler bulabileceğini ümit ediyorum. Böyle bir projeye omuz verdiği için KODLAB’a da teşekkür ediyorum.

istihza.com, Python , , , , , , , ,

Python ve OpenOffice

Pazartesi, 25 May 2009

Düzenleme (14 Eylül 2009): Python ve OpenOffice ilişkisi üzerine ilk makale http://www.istihza.com/py2/openoffice.html#python-ve-openoffice adresinde yayımlanmıştır. Bu makale ilerleyen günlerde geliştirilecek ve genişletilecektir.

Bu aralar Python ve OpenOffice ilişkisi üzerine çalışıyorum. Amacım, Python programlama dilini kullanarak OpenOffice belgelerini nasıl kontrol edebileceğimizi anlamak. Bu konuda internet üzerinde bazı kaynaklar mevcut, ama konuyu derinlemesine anlatan pek kaynak yok gibi… Elbette mevcut kaynaklara erişebilmek için İngilizce biliyor olmak gerekiyor.

Soru şu: Acaba Python’u kullanarak OpenOffice ile hazırlanmış belgeleri nasıl yönetebiliriz?

OpenOffice; Writer, Calc ve öbür ofis bileşenlerini yönetmek, evirip çevirmek, düzenlemek veya değiştirmek için programcılara oldukça gelişmiş bir API (uygulama programlama arayüzü) sunuyor. OpenOffice API’sinin özelliği dilden-bağımsız olmasıdır. Yani farklı programlama dillerini kullanan programcılar (örneğin   C++, Java, Python, CLI, StarBasic, JavaScript, OLE programcıları), OpenOffice API’sine erişerek ofis bileşenlerini yönetebilirler…  API’ye erişebilmek için “UNO” (Universal Network Objects — Evrensel Ağ Nesneleri) adlı bileşen modelinden faydalanıyoruz. Farklı programlama dilleri, kendilerine özgü bir UNO köprüsü (UNO bridge) kullanarak OpenOffice’nin UNO bileşenlerine ve dolayısıyla OpenOffice’nin API’sine erişebilirler.  Şu anda kullanılabilecek olan UNO köprüleri şöyle listelenebilir:

Uno/Binary
Uno/CLI
Uno/Cpp
Uno/Delphi
Uno/Java
Uno/OLE
Uno/PyUno
Uno/Remote
Perl Uno
Tcl Uno

Gördüğünüz gibi, listede “Uno/PyUno” da var. İsminden de anlaşılacağı gibi, bu köprü, Python ile OpenOffice’nin Bileşen Modeli arasında bağlantı kurabilmemizi sağlıyor. Python-Uno’ya ilişkin bilgi için http://udk.openoffice.org/python/python-bridge.html adresine başvurulabilir.  Ben de şu anda internet üzerindeki mevcut kaynakları inceleyerek konuyu anlamaya çalışıyorum. Eğer kayda değer bir şeyler elde edebilirsem, bilgilerimi istihza.com‘da paylaşacağımdan emin olabilirsiniz.

Python , , , ,