Kiedyś książki były częścią iTunes, można było edytować wiele tych informacji. Tytuł serialu był polem do edycji, które zostało wprowadzone w celu obsługi programów telewizyjnych. Nadal możesz go zobaczyć podczas edycji metadanych programu telewizyjnego w iTunes na karcie Wideo (nazwy pól były różne dla książek). Obecnie, z ograniczonymi możliwościami iBooks (szczególnie brak edycji metadanych), wydaje się, że te informacje są powiązane z metadanymi z witryny sklepu iBooks. Prawdopodobnie wciąż jest w SQLite DB iBooks, więc jeśli ktoś wie, jak się tam bawić, chętnie o tym usłyszę.
Nick
Odpowiedzi:
16
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.
Z_PK jest kluczem podstawowym. Musi to być kolejny numer.
Z_ENT i Z_OPT Właśnie skończyłem z „1”.
ZDATECHECKED to tylko data utworzenia wiersza. W moim przypadku został on przypisany automatycznie.
ZADAMID to unikalny kod dla książki lub serii.
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.
Z_PK , Z_ENT i Z_OPT nie są tymi samymi, które zdefiniowano w poprzedniej tabeli. Z_PK musi być sekwencyjny, a Z_ENT i Z_OPT właśnie uzupełniłem odpowiednio „2” i „1”.
ZISCONTAINER określa, czy zAdamId jest serią, czy nie. „1” to prawda, „0” to fałsz.
ZPOSITION określa numer książki w serii, zaczynając od „0” dla pierwszej książki.
ZADAMID jest taki sam, jak zdefiniowano w poprzedniej tabeli dla tego samego elementu.
ZAUTHOR jest autorem serii / książek.
ZGENRE to gatunek serii / książek.
ZSEQUENCEDISPLAYNAME określa sposób wyświetlania książki jako członka serii. Na przykład dla pierwszej książki możesz zdefiniować „Book 1” lub „Tom 1” lub „Vol.1”. Ten ciąg będzie poprzedzony nazwą książki. Ta kolumna musi być pusta dla serii.
ZSERIESADAMID to seria zAdamId książki. W przypadku serii jest to to samo co ZADAMID .
ZSERIESTITLE to nazwa serii.
ZSORTTITLE i ZTITLE to nazwa książki lub serii.
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:
seriesAdamId as Number o wartości ZBKSERIESITEM ~ ZSERIESADAMID .
itemId jako liczba o wartości ZBKSERIESITEM ~ ZADAMID .
seriesSequenceNumber as String o wartości ZBKSERIESITEM ~ ZPOSITION + 1 . (Pamiętaj, że w tabeli zaczyna się od „0”.)
seriesTitle as String o wartości ZBKSERIESITEM ~ ZTITLE .
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.
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.
To ciekawe, zauważ, że nadal myślę, że jest przechowywany lokalnie gdzieś, być może w bazie danych ibooks sqlite, ponieważ kiedy dodałem 2 książki z innej serii, zostały one zgrupowane, gdy nie były połączone z Internetem
Bilal Syed Hussain
Masz na myśli, że dodałeś dwie książki ze źródła zewnętrznego, czy kupiłeś dwie książki za pośrednictwem iBooks?
John Coxon
Zabrałem je na inny komputer, a następnie przeniosłem na komputer z ibookami, ale bez internetu.
Bilal Syed Hussain
0
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.
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.
źródło
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.
źródło
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.
źródło
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.
źródło