diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
index 968d857..2ace03c 100644
--- a/fpdfsdk/fpdf_editpage.cpp
+++ b/fpdfsdk/fpdf_editpage.cpp
@@ -375,10 +375,9 @@
       WideString::FromUTF8(param_pair->first.AsStringView()), buffer, buflen);
 }
 
-
 FPDF_EXPORT FPDF_OBJECT_TYPE FPDF_CALLCONV
-FPDFPageObjMark_GetParamValueTypeByKey(FPDF_PAGEOBJECTMARK mark,
-                                       FPDF_BYTESTRING key) {
+FPDFPageObjMark_GetParamValueType(FPDF_PAGEOBJECTMARK mark,
+                                  FPDF_BYTESTRING key) {
   const CPDF_Dictionary* pParams = GetMarkParamDict(mark);
   if (!pParams)
     return FPDF_OBJECT_UNKNOWN;
@@ -391,9 +390,9 @@
 }
 
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
-FPDFPageObjMark_GetParamIntValueByKey(FPDF_PAGEOBJECTMARK mark,
-                                      FPDF_BYTESTRING key,
-                                      int* out_value) {
+FPDFPageObjMark_GetParamIntValue(FPDF_PAGEOBJECTMARK mark,
+                                 FPDF_BYTESTRING key,
+                                 int* out_value) {
   const CPDF_Dictionary* pParams = GetMarkParamDict(mark);
   if (!pParams)
     return false;
@@ -407,11 +406,11 @@
 }
 
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
-FPDFPageObjMark_GetParamStringValueByKey(FPDF_PAGEOBJECTMARK mark,
-                                         FPDF_BYTESTRING key,
-                                         void* buffer,
-                                         unsigned long buflen,
-                                         unsigned long* out_buflen) {
+FPDFPageObjMark_GetParamStringValue(FPDF_PAGEOBJECTMARK mark,
+                                    FPDF_BYTESTRING key,
+                                    void* buffer,
+                                    unsigned long buflen,
+                                    unsigned long* out_buflen) {
   const CPDF_Dictionary* pParams = GetMarkParamDict(mark);
   if (!pParams)
     return false;
