iBooks serisi meta verileri


13

10.10'daki iBooks'ta kitaplarda resimde gösterildiği gibi seri meta veriler bulunabilir.

Harici epub'a (yani ibook store'dan değil) seri olarak gösterilebilmesi için hangi meta verileri eklemem gerekir?

seri meta verileri


Kitaplar iTunes'un bir parçasıyken bu bilgilerin çoğunu düzenleyebiliyordunuz. Dizi başlığı, TV şovlarını desteklemek için düzenlenen düzenlenebilir bir alandır. İTunes'da TV şovu meta verilerini düzenlerken Video sekmesi altında yine de görebilirsiniz (alan adları kitaplar için farklıydı). Şu anda iBooks'un sınırlı yetenekleriyle (özellikle meta veri düzenleme eksikliği), bu bilgi iBooks mağazasından meta verilere bağlı görünüyor. Muhtemelen hala iBooks SQLite DB'sinde, bu yüzden birisi orada poke nasıl bilirse, bunu duymak isterim.
Nick

Yanıtlar:


16

Başardım, ama biraz zor.

Özet:

Bir dizide olmasını istediğiniz kitaplar için ~ / Library / Containers / com.apple.BKAgentService / Data / Documents / iBooks / Books'daki Books.plist dosyasını değiştirmeniz ve ayrıca BKSeries'e satır eklemeniz gerekir - *. ~ / Library / Containers / com.apple.iBooksX / Data / Documents / BKSeriesDatabase onlar ve seriler için sqlite veritabanı .

İşte böyle yaptım:

Veritabanında 4 tablo vardır: ZBKSERIESCHECK , ZBKSERIESITEM , Z_PRIMARYKEY ve Z_METADATA . Sadece ilk üç tabloyu değiştirdim. "Seri", bu tablolardaki bir kitap gibi ele alınır.

  1. Kitapları ve serileri ZBKSERIESCHECK tablosuna ekleyin . Tabloda 5 sütun vardır.

    Tabloda 5 sütun var

    • Z_PK birincil anahtardır. Sıralı bir sayı olmalıdır.
    • Z_ENT ve Z_OPT Az önce "1" ile bitirdim .
    • ZDATECHECKED sadece satırın oluşturulduğu tarihtir. Benim durumumda otomatik olarak atandı.
    • ZADAMID , kitap veya seriler için benzersiz bir koddur.

    Bu, eklediğim verileri içeren tablo.

    Kitapların ve dizilerin kimliği

    Kullandığım zAdamId Caliber'den, bu yüzden herhangi bir sayı kullanabileceğinizi varsayıyorum. Bu sayıların satın aldığınız serilerden / kitaplardan farklı olması gerektiğini unutmayın.

    ZAdamId "1" ile satır benim dizim, diğerleri de kitaplar.

  2. Kitaplar ve seriler arasındaki ilişkileri ZBKSERIESITEM tablosuna ekleyin . Bu tabloda 16 sütun vardır.

    Tablo ZBKSERIESITEM

    • Z_PK , Z_ENT ve Z_OPT önceki tabloda tanımlananlarla aynı değildir. Z_PK sıralı olmalı ve Z_ENT ve Z_OPT I sırasıyla "2" ve "1" ile tamamlandı.
    • ZISCONTAINER , bir zAdamId dizisi olup olmadığını tanımlar. "1" doğru, "0" yanlıştır.
    • ZPOSITION , bir kitaptaki ilk kitap için "0" ile başlayan bir kitap sayısını tanımlar.
    • ZADAMID , aynı öğe için önceki tabloda tanımlananla aynıdır.
    • ZAUTHOR dizinin / kitabın yazarıdır.
    • ZGENRE , dizinin / kitabın türüdür.
    • ZSEQUENCEDISPLAYNAME bir kitabın bir serinin üyesi olarak nasıl görüntüleneceğini tanımlar. Örneğin, ilk kitap için "Kitap 1" veya "Cilt 1" veya "Cilt 1" tanımlayabilirsiniz. Bu dize kitabın adına eklenecektir. Bu sütun seri için boş olmalıdır.
    • ZSERIESADAMID , kitabın zAdamId serisidir. Seri için bu ZADAMID ile aynıdır .
    • ZSERIESTITLE serinin adıdır.
    • ZSORTTITLE ve ZTITLE , kitabın veya dizinin adıdır.

    Tablo ZBKSERIESITEM içeriği

  3. Z_PRIMARYKEY tablosunu ayarlayın .

    Bu tablonun sadece iki satırı olduğunu gördüm. Önceki tabloların her biri için bir tane.

    Tablo Z_PRIMARYKEY

    Burada Z_MAX sütununu önceki tabloların her birinde Z_PK'nin MAX (*) değerine değiştirmeniz gerekir . Örneğin, benim DB, tablo için ZBKSERIESCHECK ( BKSeriesCheck ) MAX (*) sütunun Z_PK "22" dir.

  4. Değişiklikleri kaydedin.

  5. Books.plist dosyasını açın . Serinin her kitabını arayın ve şu anahtarları ekleyin:

    • seriesAdamId , ZBKSERIESITEM ~ ZSERIESADAMID değerine sahip Number olarak .
    • itemBu sayı ZBKSERIESITEM ~ ZADAMID değeri ile Sayı olarak .
    • seriesSequenceNumber olarak dize değeriyle ZBKSERIESITEM ~ ZPOSITION + 1 . (Tabloda "0" ile başladığını unutmayın.)
    • seriesTitle , ZBKSERIESITEM ~ ZTITLE değerine sahip bir dize olarak .

    Books.plist dosyası

  6. Dosya 'yı kaydet. İBooks'u kapatın (başından beri kapatmadıysanız). Com.apple.BKAgentService işlemini öldürün . İBooks'u başlatın. Dizinizi görebilmeniz gerekir.

    Sonuçlar

notlar

Bu sütunları isimlendirmedim, onları boş bıraktım ve sonucu etkilemedi.

Bence bir çok kitabınız olduğunda tüm kitaplarınızı ve dizilerinizi doğru bir şekilde koymak zor. Tüm bunları otomatik olarak sihirli bir şekilde yapan bir gün görmeyi umuyoruz.

Bu benim ilk yazım. Umarım herkes faydalı bulur.


2

Bir çözümüm var:

  1. İBooks mağazasına gidin ve üzerinde çalışmaya çalıştığınız kitapların örneklerini indirin.

  2. Uzantıyı .epub yerine .zip olarak değiştirin.

  3. Zip dosyasını çıkarın ve "OPS" (çizgi romanlar için OEBPS) adlı klasörü silin.

  4. Sahip olduğunuz e-Kitabı bulun ve .epub yerine .zip olarak değiştirin.

  5. Çıkarın ve OPS'yi bulun.

  6. OPS'yi örnek e-kitap klasörüne taşıyın.

  7. Örnekteki tüm dosyaları seçin ve bir .zip oluşturun.

  8. Uzantıyı epub olarak değiştirin.

  9. Serideki her kitap için de aynısını yapın.

  10. Sürükleyip itunes içine bırakın.

  11. Senkronize edin ve işte böyle!

Ancak iBook mağazasına girerken dikkatli olun, düzenlediğiniz e-kitabı görürseniz, "güncelleme" yazan bir düğme olacaktır. Güncellemeyi TIKLAMAYIN, aksi takdirde yeniden yapmanız gerekir.

Bir sürü sqlite düzenlemek zorunda daha kolay ve hem Mac hem de Windows üzerinde çalışır.


Bu SRMed e-kitapları için işe yarar mı?
user151019

Örnek olarak iBooks mağazasındaysa, evet.
Dadiocoleman

1

İBooks'ta, iBooks'un bir serinin üyesi olarak vurguladığı bir kitabım ( Kalıtım ) olduğunu fark ettim (benim durumumda 'Farseer Trilogy' yerine 'Eragon' olarak adlandırılır). Bunu araştırmak için, Miras'ı indirdim ve DRM'yi Requiem'i (eski bir sanal makinede) kullanarak çıkardım, böylece kitabın kaynak kodunda konuşabildim.

Maalesef kötü haberlerim var. Sigil'i 'Eragon' kelimesini aramak için kullandım. 'Eragon' kelimesi epub içindeki meta verilerde hiçbir yerde görünmez ve bunun mümkün olmadığını gösterir; iBook, seri bilgileri gerçek epub dosyalarından ayrı olarak açıkça göstermektedir.


Bu ilginç, hala ibooks sqlite veritabanında yerel olarak bir yerde depolandığını düşünüyorum, çünkü başka bir dizide 2 kitap eklediğimde, internete bağlı olmadığında birlikte gruplandılar
Bilal Syed Hussain

Harici bir kaynaktan iki kitap eklediniz mi, yoksa iBooks üzerinden iki kitap mı aldınız?
John Coxon

Onları farklı bir bilgisayara getirdim, sonra ibooks'lu ama internetsiz bir bilgisayara aktardım.
Bilal Syed Hussain

0

Kendim denedim ve epub'ları depolayan aynı klasördeki çalma listesinin kitap serisi hakkında bilgi sahibi olduğunu öğrendim. Meta veri seriesTitle ve seriesSequenceNumber kümesi vardır. Ancak maalesef bunu değiştirmek Ibooks'un kitapları seri olarak listelemesini sağlamaz. Ayrıca e-kitabın başlığını Dizi ve diziS DizisiNumarası çalışmıyor diyerek meta verileri ayarlamak. Sonra usr içinde bir klasör buldum. Kitaplık kapsayıcılar com.apple.IBooksX Veri Belgeleri BKSeriesDatabase, ancak bir SQL Veritabanı içeriyor. Belki de bilgi orada saklanır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.