- 許多應用程序,如RepliGo,Aldiko,Mantano,ezPdf在android市場使這種類型的註釋在他們的pdf查看器中顯示在下面的圖像。
- 我嘗試了很多方式來實現這個註解,但是我失敗了。我有一個PDF瀏覽器的android和單獨的java代碼註釋使用iText繪製線條。
- 我的問題是我可以在android中實現iText。如果可能,我必須導入哪個軟件包?
- 同樣在某些應用中,畫布方法用於繪製線條。是否有可能在Android中包含此畫布方法而不是使用註釋?目標是具有註釋所具有的相同功能。
- 在下面的圖片(RepliGo PDF Reader)他們使用哪種代碼進行註釋?
回答
你的問題似乎是有什麼方法讓用戶在註釋中的Android/Java中的PDF文件,所以這裏是給你一個方法,雖然它可能不是最好的解決辦法。
我想指出,實際上並不需要編輯實際的PDF文件,只是爲了允許用戶添加和查看註釋。您的應用程序可以將註釋數據分開存儲,爲每個文件存儲這些註釋,並在文件加載時加載它們。
這意味着它不會創建一個帶有這些註釋的新PDF文件,而是隻存儲加載到應用中的每個PDF文件的用戶數據,並顯示用戶加載PDF再次文件。 (所以它似乎被註釋)。
例子:
- 閱讀PDF文件中的文本,文本格式&圖片到你的應用程序
- 顯示文檔(如字處理程序)
- 允許用戶編輯&註釋文檔
- 保存更改&應用程序中的註釋數據(不是PDF文件)
- 當再次加載文件時,應用更改0先前存儲的註釋。
你的註釋類可能是這個樣子:
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;
}
所以你只是存儲註解的顯示數據在這裏,當你加載文件及其相應的(連載)註釋對象,您可以使用每個註釋來影響文檔中startPos
和endPos
之間顯示字符的方式。
雖然我用int
S爲兩個位置startPos
和endPos
,你也可以使用兩個或多個變量來指向數組索引,SQLite數據庫表索引,對於簡單的文本文檔焦位置;無論你的實現是什麼,你都可以改變它,這樣你就知道在哪裏開始註釋以及在哪裏結束使用AnnotationType進行註釋。
此外,您可以設置屬性更改偵聽器,以便在註釋屬性發生更改時觸發更新顯示/視圖的方法。
你可以在這裏請足夠的源代碼@Ozzy? – 2017-11-21 12:36:04
PDF格式的註釋是一個開源和良好的點開始https://code.google.com/p/pdf-annotation/
- 1. 如何繪製文字,或在UIWebView中突出顯示/加下劃線?
- 2. Tika - 如何從PDF文本中提取文本:加下劃線,突出顯示,劃掉
- 3. 繪製帶下劃線/刪除線的文字(MULTILINE STRING)?
- 4. 文本下劃線顯示下劃線
- 5. 如何在Android Studio中刪除純文本的下劃線
- 6. 文字下劃線,並突出顯示PDF渲染
- 7. 在線添加註釋到PDF文件
- 8. Android:editText的下劃線(可繪製?)在焦點切換後保持突出顯示
- 9. 刪除線和下劃線不會出現在報告中pdf
- 10. 如何在HTML文本下添加虛線下劃線
- 11. 如何使用pdfium查看器在pdf中顯示註釋?
- 12. 如何刪除java中的繪製線?
- 13. 3D繪製線條,不在查看器中顯示3D
- 14. 突出顯示PDF文檔查看器中的文本
- 15. 如何在eclipse中突出顯示或添加註釋?(java)
- 16. PDF與下劃線衝突
- 17. 谷歌地圖Android:我如何繪製路線查看路線
- 18. 如何刪除以前繪製的線?
- 19. 如何做粗線下劃線或繪製矩形?
- 20. 聲明文本修飾,如下劃線,刪除線的樣式
- 21. 如何在按鈕中顯示帶下劃線的文本:iphone
- 22. 如何從fpdf的pdf鏈接中刪除下劃線
- 23. 如何在HTML5中添加文本的下劃線
- 24. 刪除下劃線
- 25. 如何刪除在MenuStrip控件下繪製的白線?
- 26. 如何在android中繪製折線圖
- 27. 如何在android中繪製平行線
- 28. 如何在android中繪製一條線?
- 29. android,如何在edittext中繪製虛線
- 30. 如何在Android Studio中爲文字加下劃線?
@yadab:我只需要大約註釋,帆布和iText的想法是否可以使用與否。在評論或回答第一次閱讀並嘗試理解該問題之前。 – BobDroid 2012-02-10 06:21:56
我在回覆我的評論。 – yadab 2012-02-16 13:47:14
http://developer.android.com/guide/topics/ui/custom-components.html#custom – zapl 2012-03-12 16:15:06