Εισαγωγή RichEdit και σελιδοποίησης RTF
Η THotPDF.ImportRTF φορτώνει RTF μέσα στο Windows RichEdit, και η THotPDF.ImportRichEdit σελιδοποιεί ένα υπάρχον control σε σελίδες PDF
Λεπτομέρειες διεπαφής
Η σελιδοποίηση χρησιμοποιεί το EM_FORMATRANGE με ένα φραγμένο ορθογώνιο σελίδας, και εκπέμπει κάθε σελίδα μέσω ενός enhanced metafile
Το κείμενο, οι αλλαγές γραμματοσειράς, η μορφοποίηση παραγράφων, οι διανυσματικές γραμμές (rules), και άλλες λειτουργίες GDI παραμένουν τελεστές PDF κειμένου ή vector, όποτε τα pipelines RichEdit και EMF τα εκθέτουν με αυτόν τον τρόπο
Τα δεδομένα pict του RTF και οι στατικές παρουσιάσεις OLE που υποστηρίζει το RichEdit μεταφέρονται από το ίδιο μονοπάτι EMF, οπότε δεν απαιτείται rasterisation ολόκληρης της σελίδας
Λεπτομέρειες διεπαφής
- Αυτό το στοιχείο εξηγεί τη σχετική συμπεριφορά και τις διαθέσιμες επιλογές
- Αυτό το στοιχείο εξηγεί τη σχετική συμπεριφορά και τις διαθέσιμες επιλογές
BeginDocΑυτό το στοιχείο εξηγεί τη σχετική συμπεριφορά και τις διαθέσιμες επιλογές UseCurrentPageΑυτό το στοιχείο εξηγεί τη σχετική συμπεριφορά και τις διαθέσιμες επιλογές- Αυτό το στοιχείο εξηγεί τη σχετική συμπεριφορά και τις διαθέσιμες επιλογές
- Αυτό το στοιχείο εξηγεί τη σχετική συμπεριφορά και τις διαθέσιμες επιλογές
Λεπτομέρειες διεπαφής
Το THPDFRTFImportOptions.Default περιορίζει την είσοδο σε 16 MiB, το κείμενο σε 4.000.000 χαρακτήρες, την έξοδο σε 1.000 σελίδες, και τα συσσωρευμένα δεδομένα EMF σε 256 MiB
Το ενσωματωμένο OLE είναι απενεργοποιημένο εξ ορισμού και απαιτεί AllowOLE=True· η ενεργοποίησή του θα πρέπει να περιορίζεται σε έμπιστα RTF, επειδή το Windows RichEdit κατέχει την εγκατεστημένη επιφάνεια handler OLE
Το CancellationToken ελέγχεται μεταξύ σελίδων, και επιστρέφει risCancelled χωρίς να κάνει rendering επιπλέον σελίδων
Λεπτομέρειες διεπαφής
Το THPDFRTFImportStatistics αναφέρει τα bytes εισόδου, το εύρος χαρακτήρων, τις σελίδες που έγιναν rendering και προστέθηκαν, τα συσσωρευμένα bytes metafile, την παρουσία OLE, την περικοπή (truncation), και ένα σταθερό THPDFRTFImportStatus
Η εξάντληση budget, η μη έγκυρη γεωμετρία σελίδας, οι κλήσεις από λάθος thread, η σελιδοποίηση χωρίς πρόοδο, και οι αποτυχίες rendering επιστρέφουν False με μια συγκεκριμένη κατάσταση
Λεπτομέρειες διεπαφής
Options := THPDFRTFImportOptions.Default;
Options.PageWidth := 612;
Options.PageHeight := 792;
Options.MarginLeft := 54;
Options.MarginRight := 54;
Document.BeginDoc;
RTFStream.Position := 0;
if not Document.ImportRTF(RTFStream, Options, Statistics) then
raise Exception.CreateFmt(
'RTF import failed with status %d',
[Ord(Statistics.Status)]
);
Δείτε επίσης: THotPDF.ImportRTF, THotPDF.ImportRichEdit, Εισαγωγή SVG Form XObject