[英]Convert iCal to HTML or plaintext in Java
我正在尋找 Java API 以將 ICS(又名 iCal)附件轉換為格式良好的 HTML 或純文本以供顯示。 理想情況下,它能夠處理:
我在看 iCal4j,它有一個很好的 DOM 解析器,但除了 iCal 之外沒有辦法序列化。
我沒有找到比 ical4j 更好的替代品。 我使用它相當成功。 不幸的是,正如您所指出的,它所做的只是綁定到 XML,沒有其他方法可以將它綁定到 output。 你可以在創建后遍歷 DOM 和 output 相關文本——盡管這看起來有點奇怪,因為你想要的只是文本/html,但我遇到了同樣的問題,只是最終解析出了 XML。
iCal4j API 有點奇怪,您可能想放松解析並啟用 outlook/notes 兼容性來幫助您。 您可以編寫自己的解析器並實現net.fortuna.ical4j.data.CalendarParser
並以這種方式將必要的信息提取為純文本。 我認為默認的net.fortuna.ical4j.data.CalendarParserImpl
大約有 500 行代碼,您也可以修改它。
對不起,伙計,如果你用谷歌搜索但什么也沒找到,那么你肯定有一套獨特的要求,是時候創新了。
拿你所有的東西,想出一些想法,然后嘗試一下,隨工作而來!
我制作了一個輸出純文本的 iCalendar API。 所有日歷元素(VCALENDAR、VEVENT 等)都有一個生成純文本的 toContent() 方法。 將多個 VCalendar 對象轉換為一個長字符串真的很容易。 例如:
List<VCalendar> calendars = new ArrayList<VCalendar>();
// add VCalendars here
// then concated the text of each into one long string
String allContent = calendars.stream()
.map(v -> v.toContent())
.collect(Collectors.joining(System.lineSeparator()));
要導入多個 VCalendar,您只需使用 processITIPMethod 方法通過 PUBLISH 方法導入它們。 它可以處理 VCalendar objects.String 列表。
如果你想要 HTML 你必須自己做。
可以到https下載://github.com/JFXtras/jfxtras/tree/8.0/jfxtras-icalendarfx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.