W iBooks 10.10 książki mogą mieć metadane serii, jak pokazano na obrazku.
Jakie metadane muszę dodać do zewnętrznego pliku epub (tj. Nie ze sklepu ibook), aby mógł być wyświetlany jako seria?
W iBooks 10.10 książki mogą mieć metadane serii, jak pokazano na obrazku.
Jakie metadane muszę dodać do zewnętrznego pliku epub (tj. Nie ze sklepu ibook), aby mógł być wyświetlany jako seria?
Odpowiedzi:
Udało mi się, ale jest to dość trudne.
Streszczenie:
Musisz zmienić plik Books.plist w ~ / Library / Containers / com.apple.BKAgentService / Data / Documents / iBooks / Books dla książek, które chcesz mieć w serii, a także musisz dodać wiersze w BKSeries - *. baza danych sqlite na ~ / Library / Containers / com.apple.iBooksX / Data / Documents / BKSeriesDatabase dla nich i serii.
Oto jak to zrobiłem:
Baza danych zawiera 4 tabele: ZBKSERIESCHECK , ZBKSERIESITEM , Z_PRIMARYKEY i Z_METADATA . Zmieniłem tylko pierwsze trzy tabele. „Seria” w tych tabelach jest traktowana jak książka.
Dodaj książki i serię do tabeli ZBKSERIESCHECK . Tabela ma 5 kolumn.
To jest tabela z danymi, które dodałem.
ZAdamId, którego użyłem, pochodzi z Calibre, więc zakładam, że możesz użyć dowolnej liczby. Pamiętaj, że liczby te muszą się różnić od zakupionych serii / książek.
Wiersz z zAdamId „1” to moja seria, pozostałe to książki.
Dodaj relacje w książkach i seriach do tabeli ZBKSERIESITEM . Ta tabela ma 16 kolumn.
Dostosuj tabelę Z_PRIMARYKEY .
Odkryłem, że ta tabela ma tylko dwa rzędy. Jeden dla każdej z poprzednich tabel.
Tutaj musisz zmienić kolumnę Z_MAX na wartość MAX (*) Z_PK w każdej z poprzednich tabel. Na przykład w moim DB dla tabeli ZBKSERIESCHECK ( BKSeriesCheck ) MAX (*) kolumny Z_PK wynosi „22”.
Zapisz zmiany.
Otwórz plik Books.plist . Poszukaj każdej książki z serii i dodaj następujące klucze:
Zapisz plik. Zamknij iBooks (jeśli nie zamknąłeś go od początku). Zabij proces com.apple.BKAgentService . Uruchom iBooks. Powinieneś być w stanie zobaczyć swoją serię.
Notatki
Te kolumny, których nie wymieniłem, zostawiłem je puste i nie wpłynęło to na wynik końcowy.
Myślę, że trudno jest właściwie umieścić wszystkie swoje książki i seriale, gdy masz ich dużo. Mam nadzieję, że pewnego dnia zobaczę coś, co zrobi to wszystko automatycznie.
To jest mój pierwszy post. Mam nadzieję, że wszystkim się przyda.
Mam rozwiązanie:
Przejdź do sklepu iBooks i pobierz próbki książek, z którymi próbujesz pracować.
Zmień rozszerzenie z .epub na .zip.
Rozpakuj zip i usuń folder o nazwie „OPS” (OEBPS dla komiksów).
Znajdź posiadany eBook i zmień go z .epub na .zip.
Wyodrębnij go i zlokalizuj OPS.
Przenieś OPS do przykładowego folderu ebook.
Wybierz wszystkie pliki w próbce i utwórz plik .zip.
Zmień rozszerzenie na epub.
Zrób to samo dla każdej książki z serii.
Przeciągnij i upuść w iTunes.
Synchronizuj i gotowe!
Zachowaj ostrożność podczas wchodzenia do sklepu iBook, jeśli zobaczysz edytowanego ebooka, będzie on miał przycisk z napisem „aktualizacja”. NIE klikaj aktualizacji, bo będziesz musiał to zrobić od nowa.
O wiele łatwiejsze niż edytowanie sqlite i działa zarówno na Macu, jak i Windowsie.
Zauważyłem, że w iBooks mam książkę ( Dziedziczenie ), którą iBooks podkreśla jako członek serii (w moim przypadku o nazwie „Eragon” zamiast „The Farseer Trilogy”). Aby to zbadać, pobrałem Dziedziczenie i usunąłem DRM za pomocą Requiem (na starej maszynie wirtualnej), aby móc się przejmować kodem źródłowym książki.
Niestety mam złe wieści. Użyłem Sigil do wyszukiwania słowa „Eragon”. Słowo „Eragon” nie pojawia się nigdzie w metadanych w epubie, co wskazuje, że nie jest to możliwe; iBook ewidentnie przechowuje informacje o seriach oddzielnie od rzeczywistych plików epub.
Sam spróbowałem i dowiedziałem się, że lista odtwarzania w tym samym folderze, w którym przechowywane są epuby, zawiera informacje o serii książek. Istnieją metadane seriesTitle i seriesSequenceNumber. Ale niestety zmiana go nie powoduje, że Ibooks wymieniają książki jako seriale. Także ustawienie Metadanych w samym e-booku, mówiąc, że seria Title i seriesSequenceNumber nie działa. Potem znalazłem folder w usr. Kontenery biblioteczne com.apple.IBooksX Dokumenty danych BKSeriesDatabase, ale zawiera bazę danych SQL. Może informacje są tam przechowywane.