Fix build with poppler-25.09.1 and 25.10.0.

Partially from upstream commit b60d81745016b5f20d4c6aec6d073b8a6f3e499c.

Index: src/extension/internal/pdfinput/poppler-utils.cpp
--- src/extension/internal/pdfinput/poppler-utils.cpp.orig
+++ src/extension/internal/pdfinput/poppler-utils.cpp
@@ -38,6 +38,10 @@ Geom::Affine ctmToAffine(const double *ctm)
     return Geom::Affine(ctm[0], ctm[1], ctm[2], ctm[3], ctm[4], ctm[5]);
 }
 
+Geom::Affine ctmToAffine(const std::array<double, 6>& ctm) {
+    return ctmToAffine(ctm.data());
+}
+
 void ctmout(const char *label, const double *ctm)
 {
     std::cout << "C:" << label << ":" << ctm[0] << "," << ctm[1] << "," << ctm[2] << "," << ctm[3] << "," << ctm[4]
@@ -164,7 +168,7 @@ void InkFontDict::hashFontObject1(const Object *obj, F
         case objString:
             h->hash('s');
             s = obj->getString();
-            h->hash(s->c_str(), s->getLength());
+            h->hash(s->c_str(), s->size());
             break;
         case objName:
             h->hash('n');
@@ -582,10 +586,10 @@ std::string getDictString(Dict *dict, const char *key)
 std::string getString(const GooString *value)
 {
     if (_POPPLER_HAS_UNICODE_BOM(value)) {
-        return g_convert(value->getCString () + 2, value->getLength () - 2,
+        return g_convert(value->getCString () + 2, value->size () - 2,
                          "UTF-8", "UTF-16BE", NULL, NULL, NULL);
     } else if (_POPPLER_HAS_UNICODE_BOMLE(value)) {
-        return g_convert(value->getCString () + 2, value->getLength () - 2,
+        return g_convert(value->getCString () + 2, value->size () - 2,
                          "UTF-8", "UTF-16LE", NULL, NULL, NULL);
     }
     return value->toStr();
