SORU
6 ŞUBAT 2012, PAZARTESİ


Nasıl vurgulama gibi açıklama yapmak, üstü çizili, altını çizmek, metin eklemek, pdf görüntüleyici için android vb?

  • Android pazarında RepliGo, Aldiko, Servet, ezPdf gibi pek çok uygulama pdf viewer resimde gösterilen açıklama bu tür olun.
  • Birçok yönden bu açıklama uygulamaya çalıştım ama başaramadım. Ek açıklamalar çizim hatları için iText kullanarak android ve ayrı java kodu için bir pdf Görüntüleyicisi var.
  • Benim sorum ben android iText uygulamak. Eğer mümkünse, hangi paketi almak zorunda mıyım?
  • Bazı uygulamalarda ayrıca, tuval bir yöntem çizim hatları için kullanılır. Bir açıklama yerine android bu tuval yöntem dahil etmek mümkün mü?. Hedefi açıklamalar aynı özelliklere sahip olacaktır.
  • Resim (Reader, RepliGo PDF) aşağıdaki hangi tür kod açıklamaları için kullandılar mı? enter image description here

CEVAP
5 Mayıs 2012, CUMARTESİ


Sorunuza en iyi çözüm olmayabilir, ancak kullanıcılar burada sizin için bir yöntem yani android/java PDF dosyası üzerinde açıklama için izin yöntemleri nelerdir gibi görünüyor.

Aslında sadece kullanıcı eklemek ve açıklamaları görüntülemek için izin vermek için gerçek bir PDF dosyasını düzenlemek için gerekli olmadığını işaret etmek istiyorum. Uygulama sadece notlar için ayrı ayrı veri deposu, her dosya için bu açıklamaları saklayın ve dosya yüklendiğinde, onları yük olabilir.

Bunun anlamı olmaz oluştur yeni bir PDF dosyası ile bu açıklamalar yer alıyor, ancak bunun yerine, sadece mağaza kullanıcı verileri için her bir PDF dosyası içine yüklü app, ve görüntüleyen kullanıcı yükler PDF dosyası yeniden. Açıklamalı görünüyor).

Örnek:

  1. App içine bir PDF dosyası, metin, metin biçimlendirme ve görüntüleri okuyabilir
  2. Bir belge (bir kelime işlemci gibi) görüntüler
  3. Kullanıcı düzenlemesine izin ver & belge açıklama
  4. Uygulamanızda değişiklik ve açıklama verileri (PDF dosyası) kaydedin
  5. Yine dosya yüklenirken, değişiklikler ve açıklamalar önceden kaydedilmiş geçerlidir.

Açıklama sınıfının böyle bir şey görünebilir

class Annotations implements Serializable {

    public Annotations() {
        annotations = new HashSet<Annotation>();
    }

    public ArrayList<Annotation> getAnnotations() {
        return new ArrayList<Annotation>(annotations);
    }

    public Annotation annotate(int starpos, int endpos) {
        Annotation a = new Annotation(startpos, endpos);
        annotations.add(a);
        return a;
    }

    public void unannotate(Annotation a) {
        annotations.remove(a);
    }

    static enum AnnotationTypes {
        HIGHLIGHT, UNDERLINE;
    }

    class Annotation {
        int startPos, endPos;
        AnnotationTypes type;
        Color color;
        Annotation(int start, int end) {
          startPos = start;
          endPos = end;
        }
        public void update(int start, int end) {
          startPos = start;
          endPos = end;
        }
        public void highlight(int red, int green, int blue) {
            type = AnnotationTypes.HIGHLIGHT;
            color = new Color(red, green, blue);
        }
        public void underline(int red, int green, int blue) {
            type = AnnotationTypes.UNDERLINE;
            color = new Color(red, green, blue);
        }
        // getters
        ...
    }

    private Set<Annotation> annotations;
}

Yani sen sadece depolama ek açıklama-görüntü verileri burada, ve ne zaman sen yük dosya ile ilgili (seri) ek Açıklamalar nesne kullanabilirsiniz her ek açıklama nasıl etkilediğini karakter arasındaki startPos endPos belgenizi.

Gerçi ben de kullandım ints için iki pozisyonu startPos endPos, de kullanabilirsiniz iki veya daha fazla değişken başvurmak için dizi dizinler, SQLite veritabanı tablo dizinleri, char pozisyonlar için basit metin belgeleri; ne olursa olsun uygulamasıdır sadece değiştirmek o kadar biliyorsun nereden başlayacağımı notlar ve nerede son açıklama ile bu AnnotationType.

Ayrıca, açıklama özellikler değiştirildiğinde onlar kapalı görüntü/görünüm güncelleştirme yöntemleri yangın özelliğini değiştirmek dinleyicileri ayarlayabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008
  • gsipek

    gsipek

    20 Temmuz 2007