czwartek, 7 czerwca 2018

Jak wygodnie korzystać z ePubCheck

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.

nakładka graficzna na epubcheck

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:

    
    Zapoznaj się z innymi artykułami. Przejdź do zakładki Spis artykułów.

Brak komentarzy:

Prześlij komentarz

Wspomóż mnie lub zostań moim patronem już od 5 zł - sprawdź szczegóły

Moje e-booki

Kliknij w okładkę, aby przejść do strony książki

Przejdź do strony książki Przejdź do strony książki