summaryrefslogtreecommitdiff
path: root/include/vcl/pdf
AgeCommit message (Collapse)Author
2024-12-09pdf: refactor and move encryption init. to a common functionTomaž Vajngerl
This is needed because we have to separate the init. for both encryption methods and we have to init both when the password is entered. Currently we only prepared this, to make this possible when we introduce the other encryption method. Change-Id: Id6556ddc6a6218164a93bb689f03d6ec6dbad8b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176454 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177873 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-14annot: read PDF FreeText annotation "DS" and "RC" keysTomaž Vajngerl
DS (DefaultStyle) and RC (RichContent") contain xhtml, css3 rich text content for the text presented by the FreeText annotation in the document. This adds reading of those 2 things to the PDFium library, PDFium based import and the PDFAnnotationFreeTextMarker class. Change-Id: I32f89640611c730c8a1a8d1a2107e2e11669ec18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168787 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-06-14annot: add support to import Stamp annotation from PDFTomaž Vajngerl
Stamp annotation shows an arbitrary bitmap in the document, where the most common bitmaps are stamps like "Approved", "Confidential", "Expired", "Sold",... Change-Id: I332e34cbb346a686ee16eac7ca437ec4048e65ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168760 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-14annot: add annotation marker for free text annotationTomaž Vajngerl
Added new class PDFAnnotationMarkerFreeText as we need a marker to know if the annotation is a special one. Change-Id: Ica0e72dd6bf62b322676c8e87659a3850074522a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168759 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-05annot: improve PDF annotation export and clean-up PDFNote classTomaž Vajngerl
Add support for exporting more PDF annotation types and props. Prefix member variables in PDFNote class, extract it out of pdfwriter.hxx file into it's own header file. Change-Id: I99fb4cbb0c68fcec6585c9c21d81daaef26344cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168418 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-05-14vcl: document and simplify PDFAnnotationMarkerTomaž Vajngerl
Change-Id: I0e03e5a009500144abcf9b35ca2224b60837872d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167568 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-11-16sw content controls, date: improve PDF export testMiklos Vajna
Assert not only that the widget is a text one, but also that it has the correct date format. Change-Id: If2bb8dcdfca0a8b76b5ed179ff558d351137bc06 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142747 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-09-13sw content controls, checkbox: add PDF exportMiklos Vajna
Map this to vcl::PDFWriter::CheckBoxWidget, which uses the /FT/Btn widget, i.e. a (toggle) button which is not a pushbutton or a radiobutton). Also avoid a border for content controls: it just cuts out some part of the rich text/plain text content control filled in text + causes a double border for checkboxes, so not useful. Change-Id: If8dd63fe71d7c2ba9bea4bf2ecc6621fefb74fd6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139864 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-04-09Recheck include/ with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: Ifc253bf800bb1468b5774663a93f4fb30bec81d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113657 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-16pdfium: add a FPDF_GetLastError() wrapperMiklos Vajna
And also an enum class for its return values. Change-Id: I9a001386831b2230a397194df3cf3b331d5242ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110952 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-02-04pdfium: add PDFFindFlags wrapperMiklos Vajna
So that vcl::pdf::PDFiumTextPage::findStart() can be called without including fpdf_text.h. Change-Id: I6a765be6176ec77ca24f592e2e2210654debe075 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110391 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-01-15pdfium: add wrapper for FPDF_FILLMODE_* definesMiklos Vajna
Which is, I think, the last direct pdfium usage outside vcl. Change-Id: I2e435e5a3669c6163bf2c20bc6d1d8bd4c88cecd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109314 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-01-08pdfium: add wrapper for FPDF_TEXTRENDERMODE_* definesMiklos Vajna
Change-Id: I85fe128f0b86d1e308727f7cc0f803d62c6ba48d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108952 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-01-06pdfium: add wrapper for FPDF_OBJECT_* definesMiklos Vajna
So that client code doesn't have to include fpdfview.h manually. Change-Id: I0cb9569f84e85953a308519ea89bed39fe4a1390 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108817 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-12-02pdfium: add width/height/format wrappers for bitmapMiklos Vajna
Change-Id: Ic8c85c4224b89d1e7bb8ded1a11c5fd8139f5701 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107044 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-12-02pdfium: introduce an enum class for path segment typesMiklos Vajna
Towards not including fpdf_edit.h in PDFiumLibrary client code. Change-Id: Iffdd11b0613399f31a3ed383c22b7a91059b83de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107011 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-11pdfium: eliminate remaining direct calls to FPDFPageObj_GetType()Miklos Vajna
And also introduce an enum class for the return type. Change-Id: I6577c7678889ac5bb8efbf0d0cfeb575aac06e27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105567 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-04external: update pdfium to 4306Miklos Vajna
Change-Id: Ic10cf99fa412f8f0b3475e82d0a1839a7f04bd08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105272 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-18sd: support line PDF annot. as custom markerTomaž Vajngerl
This renderes the line marker, but line start and end symbol is for now not supported. Change-Id: Ibf099f54b4bc047b22dae32c705982c8cb24388b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104377 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-18sd: support text annotation PDF annot. as custom markerTomaž Vajngerl
This one is special as it annotates text. Normally the annotation would be present behind the text, but this is not possible in this case, so the best alternative is to use a transparent rectangle over the text. Change-Id: Ib115efa4a5994e17dcf9d7b02591ccae26800928 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104369 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-18sd: support ink PDF annot. as custom markerTomaž Vajngerl
Ink PDF annotation is similar to a set of polylines (or freehand drawing), so we can again just reuse the polygon code paths. The difference to the polygon is that the polygon is closed. Change-Id: I99641dccc0b2f9f2d3ebf2c71d3e20f8b1d0a485 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104367 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-18sd: support square and circle PDF annot. as custom markerTomaž Vajngerl
Use the existing polygon code paths, but convert a ellipse or the rectangle to the polygon, and add that as a custom marker for the annotation. Change-Id: I8f8657b868f2c410a3f604dcc1e609f4c6a12638 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104366 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-18sd: custom annotation marker and draw polygon annotation from PDFTomaž Vajngerl
This implements custom annotation marker, which overrides the default marker drawing of comments in Draw/Impress. The polygon is transported from the import of PDF to SdPdfFilter, then the sd::Annotation is set-up, by settuing up the new class CustomAnnotationMarker. CustomAnnotationMarker also supports setting of the line color, line width and fill color. The OverlayPolyPolygon is the new class that is responsible for the marker overlay, mainly to create the Primitive2D of the marker, that will be shown on the screen. This only implements Polygon PDF annotation sub-type. Change-Id: Ic663c31c5b3db5c13179dde63c1a0b81159f4b80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104365 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-09-06store annotation subtype in PDFGraphicAnnotation, enum for subtypeTomaž Vajngerl
Change-Id: Ib804f497a6c8f609e4899f9ebcef4c1096f44ce0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102090 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>