Age | Commit message (Collapse) | Author |
|
... if PDF/A is also enabled. Thanks to Peter Wyatt for the example
document.
Change-Id: I2a5951e102ae28a4c998adafe8ab51caa2788e4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158118
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Export application/pdf MIMEType in dc:format
Change-Id: I7cb658c869898df3a9436937329b4082843338bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156507
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Adds support for exporting, editing in the UI and storage in
ODF for the dublin core attributes listed below.
Contributor (http://purl.org/dc/elements/1.1/contributor)
Coverage (http://purl.org/dc/elements/1.1/coverage)
Identifier (http://purl.org/dc/elements/1.1/identifier)
Publisher (http://purl.org/dc/elements/1.1/publisher)
Relation (http://purl.org/dc/elements/1.1/relation)
Rights (http://purl.org/dc/elements/1.1/rights)
Source (http://purl.org/dc/elements/1.1/source)
Type (http://purl.org/dc/elements/1.1/type)
Introduces XDocumentProperties2 to extend XDocumentProperties interface.
Change-Id: Ie2e0b1fbbbd00b66aef477ba1bf4e4f61c03a3b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156330
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Adds export of pdf:PDFVersion metadata.
Change-Id: Ic4c3eec3672839d0d125b64dfca6149912cd2458
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156329
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Export metadata xmp:ModifyDate & xmp:MetadataDate - populate
both with the same information as CreateDate.
Change-Id: I391a72cbe4e7d1ebba5c04c402a68534bbeb4743
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156328
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
It has been always typedef'd to basegfx::B2DPoint since:
commit 5e218b5c51f7d9cd10bd9db832879efca41b9c75
Date: Wed Jan 12 21:19:32 2022 +0000
always use B2DPoint for DevicePoint
Change-Id: I9f5202d5a71c77dd79f1759923917c26bf68a9af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154632
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
* historically the PDF export claimed to produce PDF/A-1a, which was
removed from the UI in commit ed4a0eed82e2f29e8163a445db992d22c6d07134
"tdf#62728 add PDF/A-2 support, change UI default to use that", and
then reintroduced, presumably intentionally changed, as PDF/A-1b in
commit 49cfcf777d03abf59557cad021b4e5c4445de3c0 "tdf#62728 Provide
both A/1 and A/2 in PDF export dialog"
Adapt the XMP metadata to always write "B".
* if PDF/UA is enabled, veraPDF complains about the added pdfuaid:part:
Specification: ISO 19005-2:2011, Clause: 6.6.2.3, Test number: 7
All properties specified in XMP form shall use either the predefined schemas defined in the XMP Specification, ISO 19005-1 or this part of ISO 19005, or any extension schemas that comply with 6.6.2.3.2.
Change-Id: I77b9fb728476e85830e3771135ac5a269e96b306
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154169
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
A regression from the commit below caused the resources dictionary of
the Type 3 font to be omitted making the images inaccessible:
commit 845fbfcce9091e541bab657163b026aad8648261
Author: Khaled Hosny <khaled@libreoffice.org>
Date: Thu Jun 15 06:27:38 2023 +0300
Don’t add empty Fonts dictionary to Type 3 font resources
Change-Id: I479ca328bd1b1228ba722678d3d9686c8456b350
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153780
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Added suport to import FreeText annotations. Added some suport to export
graphical annotations. Fixed some color issues to be more inline with
the pdfium library.
Change-Id: I7371595ebb95594ee765ae532ca7c7d4f0499592
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152606
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
Importing an inline content control from DOCX used to be just plain text
in Writer, so the PDF export of that was also just plain text.
Now that content controls are actually supported, we used to not emit
them as plain text in the PDF export, since
82d90529dc2b3cb8359dec78852cbd910a66d275 (sw content controls, rich
text: add initial PDF export, 2022-09-12). Part of this was to write the
string value of the content control as the /V (value) key of the form,
when it's not in placeholder mode. This made sure that once the form is
filled in, no overlap between the plain text and the filled in text
happens.
Try to support both use-cases at the same time by also mapping the value
of the content control to /V, even if it's in placeholder mode. This
keeps avoiding the unwanted overlap, but this way the placeholder text
is no longer lost on PDF export.
An alternative would have been to map the placeholder text to
description when the alias/title is empty, but that would show up only
as a mouse tooltip, so won't change the behavior when the PDF is
printed.
Change-Id: I9408b5abe36af28cd00845a74a3dfff13973b83a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145828
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
In files with large pages it was rendering white, empty
content. That was because bitmap creation in the PDFium
failed. This reduces the size to possible value.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I093a6aff94104cdc8223d7b8cbc00ff9217021b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143037
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143243
Tested-by: Jenkins
|
|
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>
|
|
If FORM_OnAfterLoadPage() is called, then FPDFAnnot_GetFontSize() can do
what we need.
Change-Id: I8aa3acbbda5c040f30b28db36f8b3332115b50e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140997
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Map it to vcl::PDFWriter::ComboBoxWidget, which knows that this has list
items + allows free-form user input as well.
PDF 32000-1:2008 Table 230 documents those field flag bits.
Change-Id: Ifb99625c2ab8792b756ad52a3f6d599507c5773f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140480
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I66f96a305bb095716023ae1e565950971826bce0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140242
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Acrobat Reader shows these descriptions on mouse hovering on a form
widget.
Change-Id: I8614222e46c992baca8a57b13a948f88973e8911
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140215
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Like font name or size.
Change-Id: Ie7b0d38be0ef69faf364b7c801d0bd3fdd60777a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140038
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
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
|
|
Change-Id: I1aeae6270feb6cb0a44b7850e1b3143e68ae780f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138770
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Regression from commit 78e25558e86188314b9b72048b8ddca18697cb86
(tdf#106059 PDF export: create a reference XObject for JPG images with
PDF data, 2017-02-23), once a PDF image was inserted to a document, an
encrypted PDF export lost those images.
The reason for this is that we started to preserve PDF images as vector
data with the above commit, but this means we copied over PDF objects
from PDF images to the export result as-is, so encryption was not
performed for them.
Fix this by separating the write of the PDF object headers, stream
content and object footer and then calling
checkAndEnableStreamEncryption() / disableStreamEncryption() for each
object, even if it's not something our PDF export created but comes from
a PDF image.
Note that when existing PDF files are signed, PDF objects are also
copied into a vcl::filter::PDFDocument, but such PDF images are never
encrypted, so it's fine to have stub implementations in
vcl::filter::PDFDocument.
Change-Id: I2f74b9f51cd35b4319221532ca890e197bab9cf3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137242
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
found by examining uses of OUString::copy() for likely places
Change-Id: I6ff20e7b273ad6005410b82719183c1122f8c018
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
so we can use it in places where we cannot include comphelper
Change-Id: Iba0ba3e4c0dcf0f9d1f09092a77c3b2010ec4f6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132732
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I54e3ddf79ba793fd4328bf8bda7f949b65349651
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132693
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
When inserting a PDF file as an image or pasting PDF data from the
clipboard on a Retina iMac the resulting rendered image did not look
sharp.
Using a surprisingly large extra scaling factor helps. The exact
reasons for this are unknown. It isn't enough to use a scaling factor
of just 2 (which is the HiDI ("Retina") scale factor on my iMac).
Possibly the fuzziness is related to what Pdfium uses to render text.
Also, look at CountDPIScaleFactor() in vcl/source/window/window.cxx.
The GetDPIScaleFactor() function lies on macOS even more than it does
on other platforms. It claims that the DPI scale percentage is always
100. But in fact most Macs nowadays have a Retina display so it would
make more sense, in theory, to at least always return 200 instead.
That wouldn't be any more wrong. But that causes regressions in the UI
rendering, like needlessly large icons in the toolbars.
Change-Id: Idc694f742c4ac32a5a134f8d206cf4eee467c39a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129369
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I545adce0491e48fad2bfc4003695bd96cc911f22
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125068
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I4e86b163a9abef88f26c6c0ae91ae0a4008658f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122485
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I0dce02d10b8c74e80f5672e2dd580b6837ba3291
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121732
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I1d3465fc7357e6991161d5a96bcd70c53c55f244
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121087
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
...that were present ever since the code's introduction in
1ced26e19d769e2ac6ca83f57f82cddbd2cfd061 "INTEGRATION: CWS vcl15", but cause
`instdir/program/soffice --headless --convert-to pdf` of doc/abi11923-2.doc from
the crash-testing corpus to fail under UBSan with
> vcl/source/pdf/Matrix3.cxx:30:35: runtime error: 2.14749e+09 is outside the range of representable values of type 'int'
> #0 in vcl::pdf::Matrix3::transform(Point const&) const at vcl/source/pdf/Matrix3.cxx:30:35 (instdir/program/libvcllo.so +0x94098c5)
[...]
Change-Id: I3855027effa09c592345a9c85a9d5dee38d7c992
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119955
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I2bfd5f806281e747702d423b7e59b5f88a7bea9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118868
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
...and combine three calls to SvStream::WriteOString into one.
Despite its name, SvStream::WriteOString takes a std::string_view, but which
cannot be constructed from a u8"..." char8_t string literal. Besides the
OStringLiteral detour, other fixes could have been a
reinterpret_cast<char const *> (but which would have defeated constexpr'ness of
the std::string_view construction) or a plain "..." char string literal with
the UTF-8 encoding of \uFEFF spelled out as \0xEF\xBB\xBF.
Change-Id: I029f061134381a67516cbc4b0479942684c80c20
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117461
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Note that we render the bitmaps without FPDF_ANNOT, so comments are not
rendered into the bitmaps, rather we create them on top of the bitmaps
in Draw, explicitly.
FPDF_FFLDraw() draws content which is already an annotation, but not yet
interactive content; so this just fixes "missing text", as far as the
user is concerned.
Verified that e.g. vcl/qa/cppunit/data/PangramAcrobatAnnotations.pdf
indeed still doesn't render comments into bitmaps after this.
Change-Id: I2b74d585729305cc1d3a9fefa258d4d76d1bd038
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115122
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Towards completely avoiding the HAVE_FEATURE_PDFIUM ifdef forest.
Change-Id: Ide634f14087ec18e5ab8186be21def0698ddbd5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113428
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Bit count for the image is a numeric value (sal_uInt16) but only
a handful of values make sense - namely 1,4,8,24 and 32. This
replaces the numeric value with an enum, which only accepts those
values and checks the correct values are used at compile time.
Change-Id: I0fc137c62bce3b0d021f05019a1648da628521bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112408
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Rather provide a stub implementation of PDFiumLibrary::get(), so other
code can call it unconditionally.
This is meant to allow removing the 10 stub functions in
VectorGraphicSearch later.
Also fix up CppunitTest_xmlsecurity_signing to pass in the
disable-pdfium case by avoiding the known-problematic checks.
Change-Id: I748fcc5c623c5ce937bd2980bfdfaadbdf6cedf7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111564
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
This will allow a dummy implementation that only provides
PDFiumLibrary::get() and nothing else.
Change-Id: Ia63b3f0b7751e5c05716825f0854282e4007207e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111502
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Otherwise vcl::pdf::PDFium can't be turned into an interface.
Change-Id: I9e9030e7e7ed36ec1ed777f017c521fa64588e8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111434
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Which means the last pdfium include can go from PDFiumLibrary.hxx.
Change-Id: I73e40767f594c9a6ce75582621af975419ccf996
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111163
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I8cfe55b4b23441f7b5c3b748903137a145cc00bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111085
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I9c8297c69ca359d861c8506e41c069692331eb8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111005
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
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>
|
|
All usage goes via the PDFiumTextPage interface now.
Change-Id: Ied9d7fc9e1cf91b6a2feca63264993fd77348bed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110792
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Which was the last public use of PDFiumTextPage::getPointer().
Change-Id: If3339f09ba38a3f10b19fe85cded718c913eb067
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110750
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I3b4fe169304c34d78019c4cc84b786ca84221d89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110659
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
So we don't have to expose the raw search handle in the public header
anymore.
Change-Id: I410314424e5a1d3a977c8e3de6f500f7c9a0a332
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110426
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
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>
|
|
Change-Id: I0bf77c116ab83ea557467da7f0c780d92db6a60e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110333
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
So we can call it in the dtor, so we can't forget calling it.
Change-Id: I9cea58ca53763d85a4c239fd90611ac1c398564d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110092
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
And fix bin/find-unneeded-includes to not report noise on
PDFiumLibrary.cxx.
Change-Id: I93337e49a5656349089bdb790876bebe8505082c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109656
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
to reduce the churn, we leave the existing constructor in place,
and add a clang plugin to detect when the value passed to the
existing constructor may contain transparency/alpha data.
i.e. we leave expressions like Color(0xffffff) alone, but
warn about any non-constant expression, and any expression
like Color(0xff000000)
Change-Id: Id2ce58e08882d9b7bd0b9f88eca97359dcdbcc8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109362
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|