diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc
index e64638b..8e7b473 100644
--- a/poppler/PDFDoc.cc
+++ b/poppler/PDFDoc.cc
@@ -862,7 +862,7 @@
   return hints;
 }
 
-int PDFDoc::savePageAs(GooString *name, int pageNo) 
+int PDFDoc::savePageAs(const GooString *name, int pageNo)
 {
   FILE *f;
   OutStream *outStr;
@@ -1026,7 +1026,7 @@
   return errNone;
 }
 
-int PDFDoc::saveAs(GooString *name, PDFWriteMode mode) {
+int PDFDoc::saveAs(const GooString *name, PDFWriteMode mode) {
   FILE *f;
   OutStream *outStr;
   int res;
@@ -1058,7 +1058,7 @@
   return errNone;
 }
 
-int PDFDoc::saveWithoutChangesAs(GooString *name) {
+int PDFDoc::saveWithoutChangesAs(const GooString *name) {
   FILE *f;
   OutStream *outStr;
   int res;
diff --git a/poppler/PDFDoc.h b/poppler/PDFDoc.h
index 1a1e376..6f27a5f 100644
--- a/poppler/PDFDoc.h
+++ b/poppler/PDFDoc.h
@@ -14,7 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005, 2006, 2008 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2005, 2009, 2014, 2015, 2017, 2018 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2009, 2014, 2015, 2017-2019 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2008 Julien Rebetez <julienr@svn.gnome.org>
 // Copyright (C) 2008 Pino Toscano <pino@kde.org>
 // Copyright (C) 2008 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -316,13 +316,13 @@
   bool getID(GooString *permanent_id, GooString *update_id) const;
 
   // Save one page with another name.
-  int savePageAs(GooString *name, int pageNo);
+  int savePageAs(const GooString *name, int pageNo);
   // Save this file with another name.
-  int saveAs(GooString *name, PDFWriteMode mode=writeStandard);
+  int saveAs(const GooString *name, PDFWriteMode mode=writeStandard);
   // Save this file in the given output stream.
   int saveAs(OutStream *outStr, PDFWriteMode mode=writeStandard);
   // Save this file with another name without saving changes
-  int saveWithoutChangesAs(GooString *name);
+  int saveWithoutChangesAs(const GooString *name);
   // Save this file in the given output stream without saving changes
   int saveWithoutChangesAs(OutStream *outStr);
 
