class SfxItemSet; class SdrObjList; class SdrModel; class SdrObject; class SvdProgressInfo;
// Helper Class to import PDF class ImpSdrPdfImport final
{
std::vector<rtl::Reference<SdrObject>> maTmpList;
ScopedVclPtr<VirtualDevice> mpVD;
tools::Rectangle maScaleRect;
size_t mnMapScalingOfs; // from here on, not edited with MapScaling
std::unique_ptr<SfxItemSet> mpLineAttr;
std::unique_ptr<SfxItemSet> mpFillAttr;
std::unique_ptr<SfxItemSet> mpTextAttr;
SdrModel* mpModel;
SdrLayerID mnLayer;
Color maOldLineColor;
sal_Int32 mnLineWidth; static constexpr css::drawing::LineCap gaLineCap = css::drawing::LineCap_BUTT;
XDash maDash;
std::unique_ptr<vcl::pdf::PDFiumDocument> mpPdfDocument; int mnPageCount; double mdPageHeightPts; /// The current transformation matrix, typically used with Form objects.
basegfx::B2DHomMatrix maCurrentMatrix;
/// Correct the vertical coordinate to start at the top. /// PDF coordinate system has origin at the bottom right. double correctVertOrigin(double offsetPts) const { return mdPageHeightPts - offsetPts; } /// Convert PDF points to logic (twips).
tools::Rectangle PointsToLogic(double left, double right, double top, double bottom) const;
Point PointsToLogic(double x, double y) const;
std::shared_ptr<vcl::pdf::PDFium> mpPDFium;
// check for clip and evtl. fill maClip void checkClip(); bool isClip() const;
void ImportPdfObject(std::unique_ptr<vcl::pdf::PDFiumPageObject> const& pPageObject,
std::unique_ptr<vcl::pdf::PDFiumTextPage> const& pTextPage, int nPageObjectIndex); void ImportForm(std::unique_ptr<vcl::pdf::PDFiumPageObject> const& pPageObject,
std::unique_ptr<vcl::pdf::PDFiumTextPage> const& pTextPage, int nPageObjectIndex); void ImportImage(std::unique_ptr<vcl::pdf::PDFiumPageObject> const& pPageObject, int nPageObjectIndex); void ImportPath(std::unique_ptr<vcl::pdf::PDFiumPageObject> const& pPageObject, int nPageObjectIndex); void ImportText(std::unique_ptr<vcl::pdf::PDFiumPageObject> const& pPageObject,
std::unique_ptr<vcl::pdf::PDFiumTextPage> const& pTextPage, int nPageObjectIndex); void InsertTextObject(const Point& rPos, const Size& rSize, const OUString& rStr);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.