W poprzednim
poście pt. „Jak wygodnie korzystać z wiersza poleceń”
prezentowaliśmy prostą nakładkę graficzną, dzięki której praca
z tym narzędziem stała się wygodniejsza. W tym poście
zaprezentujemy kolejną graficzną nakładkę, tym razem dla
narzędzia ePubCheck służącego do sprawdzania zgodności kodu
pliku ePub (czyli e-booka) z obowiązującym standardem.
Osoby tworzące
własne e-booki, zwłaszcza w formacie ePub często zastanawiają
się, czy wygenerowany przez nich plik będzie dobrze wyświetlany na
urządzeniach czytelników, czy – mówiąc kolokwialnie – nie
rozsypie się na urządzeniu innym niż jego. Aby zminimalizować
takie problemy, korzystają z odpowiedniego walidatora kodu, który
sprawdza zgodność kodu z obowiązującymi standardami i w razie
wykrytych problemów wskazuje rodzaj błędu i miejsce jego
wystąpienia.
Walidatory kodu epub
Z darmowych
walidatorów kodu epub można polecić odpowiednią zakładkę
„Sprawdzanie błędów” w programie Calibre lub dedykowany plikom
epub walidator o nazwie ePubCheck. Ten ostatni wskazywany jest zawsze
jako obowiązkowy – jeśli plik epub przejdzie przez niego
pomyślnie, przyjmuje się, że nie będzie z nim żadnych problemów.
Walidator ten jest zalecany przez wiele serwisów wyświetlających
lub sprzedających e-booki w formacie ePub.
Jak korzystać z walidatora ePubCheck
W niniejszym
artykule skupimy się na obsłudze walidatora ePubCheck, gdyż –
choć nie jest ona skomplikowana – jest dosyć uciążliwa,
zwłaszcza gdy sprawdza się po kolei wiele e-booków.
Podstawowym i
chyba jedynym mankamentem programu ePubCheck jest fakt, iż
korzystamy z niego poprzez wiersz poleceń (cmd). Ci, którzy
korzystali z wiersza poleceń wiedzą, że wpisywanie za każdym
razem poleceń jest bardzo zniechęcające. Podobnie jest z obsługą
ePubCheck.
Korzystanie z
ePubCheck jest dosyć proste: należy uruchomić wiersz poleceń i
wpisać w niego odpowiednią instrukcję typu „uruchom ePubCheck,
aby przetestował plik znajdujący się w miejscu wskazanym przez
ścieżkę dostępu”. Cały problem właśnie z tą ścieżką
dostępu (adres pliku w komputerze). Jeśli znajduje się on np. na
pulpicie, to musimy za każdym razem wpisywać długie adresy pliku,
a wystarczy tylko pomylić jedną literkę, aby po nieudanym
uruchomieniu wszystko znów wpisywać od nowa. Jest to dosyć
frustrujące.
Jak wykorzystać ePubCheck
Nie ma co ukrywać,
że po kilku razach korzystania z programu ePubCheck moja cierpliwość
się skończyła, a że lubię sobie usprawniać pracę, więc zaraz
znalazłem sposób, aby tę niemiłą sytuację rozwiązać.
Korzystając
ze znajomości programowania, zrobiłem sobie szybko graficzną
nakładkę, która wykorzystuje narzędzie ePubCheck. Wykorzystałem
więc słabą stronę tego walidatora, która od teraz stała się
jego zaletą. Udostępnianie użytkownikowi tego narzędzia w takiej
postaci, choć będące utrudnieniem dla niego, przyzwyczajonego do
wersji graficznych, jest wielce pomocne dla użytkownika-programisty,
gdyż może je wykorzystać w swoich projektach – programach
komputerowych. Warunek jest jednak taki, że musi to umieć... :)
Nakładka graficzna na ePubCheck
Idea programu, jaki stworzyłem, jest prosta, wręcz intuicyjna dla
użytkownika. Po uruchomieniu programu klikamy w przycisk „Sprawdź”,
który wyświetla znane nam z Windowsa okno dialogowe do otwierania
plików. Po dwukrotnym kliknięciu nazwy pliku następuje
uruchomienie wiersza poleceń a razem z nim programu ePubCheck i
sprawdzenie pliku. Wyniki sprawdzenia wyświetlane są w wierszu
poleceń, tak jak w oryginale.
Analiza kodu
Czas zaprezentować kod programu, który został napisany w języku
Delphi, ale nic nie stoi na przeszkodzie, aby taki program zrobić
sobie w innym języku, np. w języku C. Kod przedstawia się
następująco:
unit Unit1;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi, ExtCtrls;
type
TForm1
= class(TForm)
OpenDialog1:
TOpenDialog;
Label1:
TLabel;
Button2:
TButton;
Edit1:
TEdit;
procedure
Button2Click(Sender: TObject
private
{
Private declarations }
public
{
Public declarations }
end;
var
Form1:
TForm1;
implementation
{$R
*.dfm}
//Uruchom
sprawdzanie pliku ePub za pomocą ePubCheck
procedure
TForm1.Button2Click(Sender: TObject);
var
Plik:
string; //zmienna dla ścieżki dostępu
pliku do sprawdzenia
Polecenie:
string; //zmienna dla pełnego polecenia dla
wiersza poleceń
begin
if
OpenDialog1.Execute then //jeżeli
opendialog się wyświetlil, to..
begin
Plik:=
ExtractFileName(OpenDialog1.FileName); //ścieżka
dostępu do pliku ePub
Polecenie:=
' /K java -jar C:\PROGRA~1\Ebooker\epubcheck-4.0.0\epubcheck.jar '
+Plik;
ShellExecute(Application.Handle,
nil,'cmd',PChar(Polecenie), nil,SW_SHOW);
end;
end;
Okno naszego programu
|
Aby
korzystanie z programu było uniwersalne, wprowadziliśmy dwie
zmienne typu tekstowego (string), które odpowiadają za ścieżki
dostępu. Do zmiennej „Plik” przypisujemy ścieżkę dostępu do
sprawdzanego przez nas pliku epub. Uzyskamy ją z okna dialogowego
OpenDialog: wybierając w tym oknie konkretny plik, automatycznie
uzyskujemy ścieżkę dostępu do niego – stąd polecenie
ExtractFileName.
Druga zmienna, o nazwie „Polecenie” łączy pierwszą część
polecenia obsługującego narzędzie ePubCheck ze ścieżką dostępu
do pliku. W ten sposób we właściwej procedurze wykonawczej możemy
zastosować prosty zapis. Zauważmy, że w zmiennej „Polecenie”
musimy wpisać ścieżkę dostępu do pliku wykonywalnego ePubCheck.
Musimy więc dokładnie wskazać, gdzie na twardym dysku on się
znajduje. W naszym przypadku znajduje się on na partycji C, w
katalogu Program Files (tu reprezentowanym przez jego nazwę
skrótową), podkatalogu Ebooker itd...
Jak widzimy, po poleceniu wykonawczym program uruchamia wiersz
poleceń (cmd) z odpowiednim poleceniem do wykonania. Analizując je,
widzimy, że do poprawnego działania program potrzebuje środowiska
java. Najpierw uruchamiamy narzędzie ePubCheck, które automatycznie
sprawdza podany w ścieżce dostępu plik ePub.
Na koniec przypominamy, iż na formę główną, poza przyciskiem
musimy umieścić jeszcze komponent OpenDialog, który jednak podczas
pracy programu jest niewidoczny. Służy on tylko do wyświetlania
okna dialogowego, w którym wybierany jest plik ePub.
Ciekawe artykuły:
- Darmowy e-book jako forma reklamy
- Jak zdobyć czytelników bloga na Facebooku
- Blogi warte obserwowania
Brak komentarzy:
Prześlij komentarz