PDF Mod
11 sierpnia 2009, kocio
Gabriel Burt, pracownik Novella i programista Banshee, rozwija od niedawna program PDF Mod, który służy do wygodnej graficznej manipulacji plikami PDF. Kod aplikacji powstaje w C# i liczy około 2.700 wierszy.
Program wykorzystuje Popplera, PdfSharp, Mono, Gtk#, Cairo oraz bibliotekę Hyena z Banshee. Prace idą bardzo szybko — obecnie jest już w wersji 0.5. Możliwe jest przenoszenie stron między dokumentami, obracanie, eksport do grafik PNG/JPG, a ostatnio także obsługa PDF-ów zabezpieczonych hasłem. Przewidywana jest także edycja marginesów.
Mono ostatnio znów znalazło się pod obstrzałem, a batalii przewodzi nadal zaniepokojony taktyką Microsoftu Richard Stallmman. Za spory sukces zostało powszechnie uznane przeportowanie Tomboya z C# na C++ (w ten sposób powstała aplikacja Gnote).
Okazało się jednak, że autor Gnote nie zrobił tego z powodów ideowych ani taktycznych, ale praktycznych i technicznych: chciał mieć funkcjonalność Tomboya na Eee PC wyposażonym w niewielką kartę pamięci, a przy okazji sprawdzić jak trudne byłoby wykonanie takiego portu.




Aby mono przestało być pod obstrzałem muszą być spełnione:
1)gwarancja nie wykorzystania patentów .Net dotyczących części objętej standardem, a nie tylko w przypadku implementacji pełnej specyfikacji
2)zabranie jasnej postawy przez MS wobec reszty .Net oraz określenie jakie dokładnie petenty tą część chronią.
Inna sprawa, że mono bez części objętej standardem nie jest atrakcyjne dla programistów wywodzących się z platformy MS.
“Inna sprawa, że mono bez części objętej standardem nie jest atrakcyjne dla programistów wywodzących się z platformy MS.”
Nie zastanawiałeś się kiedyś czasem nad tym, ile by zostało treści gdyby oddzielić Twoje domysły od faktów?
Ta lista to chyba wystarczający crashtest http://mono-project.com/Companies_Using_Mono
W którym miejscu napisałem, że firmy nie używają mono?
Część firm może mieć umowy z MS i inni po prostu mogą używać dystrybucji Novella i po sprawie.
Mówię tylko, że przeniesienie się z większym projektem na mono mając do dyspozycji tylko część objętą standardem jest bezsensowne.
Inna sprawa, gdy projekt jest pisany od podstaw, wtedy mono wydaje się bardzo dobrym wyborem.
Jako ciekawostkę podam że istnieje już profesjonalny program do
manipulowania plikami PDF dla Linuksa:
http://www.qoppa.com/demo/pslicense.html
Okular jest trochę podobny w funkcjonalności, tzn. jeśli chodzi o adnotowanie – edycji niestety nie ma.
Ja tam czekam aż GNU PDF coś wyda ( http://linuxnews.pl/projekt-gnu-pdf/ ), ale ich Juggler dopiero czeka na ukończenie bibliotek, które chyba niedaleko zaszły:
http://www.gnupdf.org/Lib:Roadmap
ztcp jeszcze kwrite ma jakies opcje importu pdf (choc daaaawno o tym czytalem i moze to byc nie prawda)
Niestety na tego GNU PDF trzeba będzie “trochę” poczekać, ale za to jak już będzie, to może być rewelacyjny, przynajmniej na to liczę.
Jeżeli chodzi o adnotacje, etc. to pod Windowsem najlepiej sprawdza się PDF-XChange Viewer, tak jakby ktoś nie znał.
Przy okazji pozwolę sobie na małe zejście z tematu. Kojarzy ktoś PDF-owego czytnika, który pozwala dowolnie zoomować dokumenty? Kiedyś był chyba na OSnews.pl omawiany taki (nie pamiętam czy jako artykuł, nius czy może w komentarzach), ale jakoś nie mogłem go namierzyć w trakcie ostatnich poszukiwań. Nie pamiętam czy był już wtedy gotowy do użytku, ale stali (stoją?) za nim bodajże Polacy (albo myli mi się z jakimś zupełnie innym projektem).
Jeszcze a propos redukcji marginesów. Zna ktoś może program automatyzujący ten proces? Chodzi o późniejsze drukowanie właściwie. Pod Windowsem jest niedarmowy FinePrint, który nie tylko do PDF-ów się nadaje (bo to sterownik wirtualnej drukarki). Kiedyś szukałem darmowych alternatyw, choćby właśnie tylko do PDF-ów, ale nic wartościowego nie znalazłem.
W każdym razie będę wdzięczny za wskazówki.
Jest też pdfedit, czy editpdf, nie pamiętam, ale używałem tego. Do wyciągania zdjęć wystarczy jednak Evince, całkiem dobrze sobie radzi z moimi starymi dokumentami, które kiedyś poskładałem, a potem straciłem ich źródła. Dzięki Evince mam łatwiej je rozłożyć na nowo na części.
PDFedit, całkiem niezły program do modyfikacji pdfów.
Tyle, że to nie jest wolny soft
A ja sobie ostatnio w Kricie edytowałem PDF’a
Pisząc tym razem bardziej na temat dodam, że Inkscape daje radę w edycji i to całkiem nieźle, ale tylko tak długo jak zajmujemy się pojedynczymi stronami PDF-ów. Niestety.
Pionierem pewnie nie jestem, ale może ktoś z czytających nie wpadł na pomysł, który kiedyś przyszedł mi do głowy, więc krótko go opiszę. Swego czasu do grupowego projektu, którego dokumentacja powstawała w LaTeXu, kolega podesłał mi plik Excela z wykresem. Były tam oczywiście i dane, na bazie których powstał, ale liczył się ich charakter a nie dokładne wartości, co wykres właśnie dobrze obrazował. Mam ten problem, że nie znoszę wyglądu excelowych wykresów, bo wszystkie są takie same, takie excelowe i nijak nie pasują do ładnie złożonych raportów w LaTeXu, przynajmniej moim zdaniem. Mogłem wygenerować nowy open source’owy wykres, ale zajęłoby mi to więcej czasu. Co więc zrobiłem? W moim OOo wrzuciłem cały wykres na pojedyncza stronę i zapisałem go do PDF-a, którego odpaliłem w Inkscape i po minucie, dwóch obróbki miałem czysty, zdecydowanie nieexcelowy wykres, gotowy do włączenia w dokumencie. (Oczywiście mógłbym bawić się jeszcze w samym OOo, ale wbrew pozorom raczej więcej czasu by mi to zajęło nim osiągnąłbym stan, który by mnie zadowolił.) Metoda właściwie bardziej typu one-shoot, ale efektywna i nie musimy mieć oryginalnych danych, wystarcza nam wykres w PDF.
osobiscie preferuje tworzenie wykresow w Gnumericu a nastepnie ich wyeksportownie do svg (dziala bardzo dobrze). potem mozna wykres edytowac np. w Inkscape. pozdrawiam
Przytoczenie ilości wierszy kodu miało na celu pokazanie, że tak mało czy tak dużo? 2700 to akurat żadna porażająca ilość. Prawdę mówiąc to odebrałem tę informację bardziej w ten sposób: “ooo, nieźle się gostek potrafi ścisnąć”.
Ten projekt to po prostu mediator pomiędzy kilkoma bibliotekami, sam z siebie nie robi praktycznie nic. Trudno żeby miało to jakąś większą ilość kodu – samo tworzenie GUI pewnie zajmuje sporą część tego.
Można też wygenerować wykres Gnuplotem.
Do łączenia, dzielenia PDFów i dokonywania różnych przeróbek polecam konsolowe narzędzie pdftk.
> Mono ostatnio znów znalazło się pod obstrzałem, a batalii przewodzi nadal zaniepokojony taktyką Microsoftu Richard Stallmman.
Prawdziwa ironia losu. Pamiętajmy, że Mono wyewoluowało z projektu GNOME, którego ojcem chrzestnym był nie kto inny, jak RMS właśnie. A przyczyną powstania GNOME, było niezadowolenie RMS i jego zwolenników z faktu, że jedyne w owym czasie sensowne środowisko graficzne, czyli KDE, uzależnione było od firmy Trolltech. I jeszcze uważali, że C++ jest be i GUI powinno być tworzone w C (z dodatkiem Scheme).
W efekcie zamieniono niewielkie w sumie uzależnienie od Trolltecha na duże uzależnienie od Microsoftu. I język będący standardem ISO (C++) na microsoftowy wynalazek.
Chcieli dobrze, a wyszło jak zawsze.
“W efekcie zamieniono niewielkie w sumie uzależnienie od Trolltecha na duże uzależnienie od Microsoftu. I język będący standardem ISO (C++) na microsoftowy wynalazek.”
Ale brednia.
Gdzie niby objawia się to “uzależnienie od MS” w przypadku Gnome?
C# z tego co sie orientuję, tez jest standardem ISO.
Mnie bardziej interesuje inna kwestia, czy lepiej mieć szybko gotową aplikację w mono (razem ze wszystkimi wadami mono), czy lepiej czekać dłużej na program pozbawiony wad mono?
Nie ISO, tylko ECMA i nie tylko C# ale jeszcze kilka innych komponentów .NET.
Różnica pomiędzy ISO a ECMA polega na tym, że w ISO, przy tworzeniu standardu, tworzony jest komitet w którym mogą zasiąść wszyscy zainteresowani i zasadniczo standard powstaje poprzez konsensus. Zaś w ECMA, standardy są po prostu ‘zgłaszane’ bez prac wewnątrz samej organizacji. Nie jest to gorsze rozwiązanie, po prostu inne.
Mono ma tyle wspólnego z Gnome że kilka znacznych aplikacji Mono używa bibliotek Gnome i pewne osoby pracujące nad Gnome pracują też nad Mono (ale nieliczne). Gnome nie ma żadnych specjalnie silnych powiązań z Mono i w drugą stronę.
No to jest niewiarygodnie cenna informacja… Ja wiem, że zajawkę trzeba czymś wypchać, zwłaszcza jak news nie za długi, ale bez przesady. Jak znaczenie ma ilość linijek kodu źródłowego?!
ciekawostka taka?