Beispiel #1
0
        void ExtractTextFromEntity(MainForm mainForm, ICitaviEntity citaviEntity)
        {
            if (citaviEntity.EntityLinks.FirstOrDefault(link => link.Indication.Equals("PdfKnowledgeItem", StringComparison.OrdinalIgnoreCase))?.Target is Annotation annotation)
            {
                var documentParser = new DocumentParser(mainForm.PreviewControl.GetPdfViewControl()?.Document)
                {
                    ParseType = ParseType.Text,
                    DetectParagraphAlignment = true,
                    ExtractIdentifier        = false
                };

                var text = documentParser
                           .Run(annotation.Quads.Where(q => !q.IsContainer).ToList())?
                           .GetDocumentText()?
                           .ContentAsPlainText;
                if (!string.IsNullOrEmpty(text))
                {
                    Clipboard.SetText(text);
                }
            }
        }
Beispiel #2
0
 public static bool IsSupportedCitaviEntity(this ICitaviEntity citaviEntity)
 {
     return(citaviEntity is KnowledgeItem || citaviEntity is TaskItem);
 }