Skip to content

Commit d1abf9b

Browse files
author
benoit.condaminet
committed
chore: Update all to work under macos
1 parent 55f0473 commit d1abf9b

3 files changed

Lines changed: 56 additions & 21 deletions

File tree

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/do
55
RUN chmod +x /usr/local/bin/install-php-extensions && \
66
install-php-extensions ffi
77

8-
RUN mkdir -p /usr/lib-pdfium && cd /usr/lib-pdfium && curl -L https://github.com/bblanchon/pdfium-binaries/releases/latest/download/pdfium-linux-x64.tgz | tar -xz \
8+
RUN mkdir -p /usr/lib-pdfium && cd /usr/lib-pdfium && curl -L https://github.com/bblanchon/pdfium-binaries/releases/latest/download/pdfium-linux-arm64.tgz | tar -xz \
99
&& cp lib/libpdfium.so /usr/local/lib/libpdfium.so && ldconfig
1010

1111
# Test libvips integration
12-
RUN mkdir -p /usr/lib-vips && cd /usr/lib-vips && curl -L https://github.com/lovell/sharp-libvips/releases/download/v8.15.1/libvips-8.15.1-linux-x64.tar.gz | tar -xz \
13-
&& cp lib/libvips-cpp.so.42 /usr/local/lib/libvips.so.42 && ldconfig
12+
RUN mkdir -p /usr/lib-vips && cd /usr/lib-vips && curl -L https://github.com/lovell/sharp-libvips/releases/download/v8.16.1/libvips-8.16.1-linux-arm64v8.tar.gz | tar -xz \
13+
&& cp lib/libvips-cpp.so.* /usr/local/lib/libvips.so.42 && ldconfig
1414

1515
ENV VIPSHOME=/usr/local
1616

docker-compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
version: '3.8'
21

32
services:
43
php-pdfium:
54
image: phpdfium:dev
6-
user: 1000:1000
75
build:
86
context: ./
97
dockerfile: ./Dockerfile

include/pdfium.h

Lines changed: 53 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#define FFI_LIB "libpdfium.so"
22
typedef long int ptrdiff_t;
33
typedef long unsigned int size_t;
4-
typedef int wchar_t;
4+
typedef unsigned int wchar_t;
55
typedef struct {
66
long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
77
long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
@@ -43,6 +43,8 @@ typedef const struct fpdf_signature_t__* FPDF_SIGNATURE;
4343
typedef void* FPDF_SKIA_CANVAS;
4444
typedef struct fpdf_structelement_t__* FPDF_STRUCTELEMENT;
4545
typedef const struct fpdf_structelement_attr_t__* FPDF_STRUCTELEMENT_ATTR;
46+
typedef const struct fpdf_structelement_attr_value_t__*
47+
FPDF_STRUCTELEMENT_ATTR_VALUE;
4648
typedef struct fpdf_structtree_t__* FPDF_STRUCTTREE;
4749
typedef struct fpdf_textpage_t__* FPDF_TEXTPAGE;
4850
typedef struct fpdf_widget_t__* FPDF_WIDGET;
@@ -237,12 +239,12 @@ FPDF_RenderPageBitmapWithMatrix(FPDF_BITMAP bitmap,
237239
void* first_scan,
238240
int stride);
239241
int FPDFBitmap_GetFormat(FPDF_BITMAP bitmap);
240-
void FPDFBitmap_FillRect(FPDF_BITMAP bitmap,
241-
int left,
242-
int top,
243-
int width,
244-
int height,
245-
FPDF_DWORD color);
242+
FPDF_BOOL FPDFBitmap_FillRect(FPDF_BITMAP bitmap,
243+
int left,
244+
int top,
245+
int width,
246+
int height,
247+
FPDF_DWORD color);
246248
void* FPDFBitmap_GetBuffer(FPDF_BITMAP bitmap);
247249
int FPDFBitmap_GetWidth(FPDF_BITMAP bitmap);
248250
int FPDFBitmap_GetHeight(FPDF_BITMAP bitmap);
@@ -769,6 +771,12 @@ FPDFAnnot_IsOptionSelected(FPDF_FORMHANDLE handle,
769771
FPDFAnnot_GetFontSize(FPDF_FORMHANDLE hHandle,
770772
FPDF_ANNOTATION annot,
771773
float* value);
774+
FPDF_BOOL
775+
FPDFAnnot_GetFontColor(FPDF_FORMHANDLE hHandle,
776+
FPDF_ANNOTATION annot,
777+
unsigned int* R,
778+
unsigned int* G,
779+
unsigned int* B);
772780
FPDF_BOOL FPDFAnnot_IsChecked(FPDF_FORMHANDLE hHandle,
773781
FPDF_ANNOTATION annot);
774782
FPDF_BOOL
@@ -793,6 +801,10 @@ FPDFAnnot_GetFormFieldExportValue(FPDF_FORMHANDLE hHandle,
793801
unsigned long buflen);
794802
FPDF_BOOL FPDFAnnot_SetURI(FPDF_ANNOTATION annot,
795803
const char* uri);
804+
FPDF_ATTACHMENT
805+
FPDFAnnot_GetFileAttachment(FPDF_ANNOTATION annot);
806+
FPDF_ATTACHMENT
807+
FPDFAnnot_AddFileAttachment(FPDF_ANNOTATION annot, FPDF_WIDESTRING name);
796808
typedef unsigned char __u_char;
797809
typedef unsigned short int __u_short;
798810
typedef unsigned int __u_int;
@@ -823,7 +835,7 @@ typedef unsigned int __gid_t;
823835
typedef unsigned long int __ino_t;
824836
typedef unsigned long int __ino64_t;
825837
typedef unsigned int __mode_t;
826-
typedef unsigned long int __nlink_t;
838+
typedef unsigned int __nlink_t;
827839
typedef long int __off_t;
828840
typedef long int __off64_t;
829841
typedef int __pid_t;
@@ -840,7 +852,7 @@ typedef int __daddr_t;
840852
typedef int __key_t;
841853
typedef int __clockid_t;
842854
typedef void * __timer_t;
843-
typedef long int __blksize_t;
855+
typedef int __blksize_t;
844856
typedef long int __blkcnt_t;
845857
typedef long int __blkcnt64_t;
846858
typedef unsigned long int __fsblkcnt_t;
@@ -920,6 +932,10 @@ FPDFPage_RemoveObject(FPDF_PAGE page, FPDF_PAGEOBJECT page_object);
920932
FPDF_BOOL
921933
FPDFPageObj_HasTransparency(FPDF_PAGEOBJECT page_object);
922934
int FPDFPageObj_GetType(FPDF_PAGEOBJECT page_object);
935+
FPDF_BOOL
936+
FPDFPageObj_GetIsActive(FPDF_PAGEOBJECT page_object, FPDF_BOOL* active);
937+
FPDF_BOOL
938+
FPDFPageObj_SetIsActive(FPDF_PAGEOBJECT page_object, FPDF_BOOL active);
923939
void
924940
FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
925941
double a,
@@ -929,6 +945,8 @@ FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
929945
double e,
930946
double f);
931947
FPDF_BOOL
948+
FPDFPageObj_TransformF(FPDF_PAGEOBJECT page_object, const FS_MATRIX* matrix);
949+
FPDF_BOOL
932950
FPDFPageObj_GetMatrix(FPDF_PAGEOBJECT page_object, FS_MATRIX* matrix);
933951
FPDF_BOOL
934952
FPDFPageObj_SetMatrix(FPDF_PAGEOBJECT page_object, const FS_MATRIX* matrix);
@@ -942,6 +960,8 @@ FPDFPageObj_SetMatrix(FPDF_PAGEOBJECT page_object, const FS_MATRIX* matrix);
942960
FPDF_PAGEOBJECT
943961
FPDFPageObj_NewImageObj(FPDF_DOCUMENT document);
944962
int
963+
FPDFPageObj_GetMarkedContentID(FPDF_PAGEOBJECT page_object);
964+
int
945965
FPDFPageObj_CountMarks(FPDF_PAGEOBJECT page_object);
946966
FPDF_PAGEOBJECTMARK
947967
FPDFPageObj_GetMark(FPDF_PAGEOBJECT page_object, unsigned long index);
@@ -951,15 +971,15 @@ FPDFPageObj_AddMark(FPDF_PAGEOBJECT page_object, FPDF_BYTESTRING name);
951971
FPDFPageObj_RemoveMark(FPDF_PAGEOBJECT page_object, FPDF_PAGEOBJECTMARK mark);
952972
FPDF_BOOL
953973
FPDFPageObjMark_GetName(FPDF_PAGEOBJECTMARK mark,
954-
void* buffer,
974+
FPDF_WCHAR* buffer,
955975
unsigned long buflen,
956976
unsigned long* out_buflen);
957977
int
958978
FPDFPageObjMark_CountParams(FPDF_PAGEOBJECTMARK mark);
959979
FPDF_BOOL
960980
FPDFPageObjMark_GetParamKey(FPDF_PAGEOBJECTMARK mark,
961981
unsigned long index,
962-
void* buffer,
982+
FPDF_WCHAR* buffer,
963983
unsigned long buflen,
964984
unsigned long* out_buflen);
965985
FPDF_OBJECT_TYPE
@@ -972,13 +992,13 @@ FPDFPageObjMark_GetParamIntValue(FPDF_PAGEOBJECTMARK mark,
972992
FPDF_BOOL
973993
FPDFPageObjMark_GetParamStringValue(FPDF_PAGEOBJECTMARK mark,
974994
FPDF_BYTESTRING key,
975-
void* buffer,
995+
FPDF_WCHAR* buffer,
976996
unsigned long buflen,
977997
unsigned long* out_buflen);
978998
FPDF_BOOL
979999
FPDFPageObjMark_GetParamBlobValue(FPDF_PAGEOBJECTMARK mark,
9801000
FPDF_BYTESTRING key,
981-
void* buffer,
1001+
unsigned char* buffer,
9821002
unsigned long buflen,
9831003
unsigned long* out_buflen);
9841004
FPDF_BOOL
@@ -998,7 +1018,7 @@ FPDFPageObjMark_SetBlobParam(FPDF_DOCUMENT document,
9981018
FPDF_PAGEOBJECT page_object,
9991019
FPDF_PAGEOBJECTMARK mark,
10001020
FPDF_BYTESTRING key,
1001-
void* value,
1021+
const unsigned char* value,
10021022
unsigned long value_len);
10031023
FPDF_BOOL
10041024
FPDFPageObjMark_RemoveParam(FPDF_PAGEOBJECT page_object,
@@ -1056,6 +1076,12 @@ FPDFImageObj_GetImageMetadata(FPDF_PAGEOBJECT image_object,
10561076
FPDFImageObj_GetImagePixelSize(FPDF_PAGEOBJECT image_object,
10571077
unsigned int* width,
10581078
unsigned int* height);
1079+
FPDF_BOOL
1080+
FPDFImageObj_GetIccProfileDataDecoded(FPDF_PAGEOBJECT image_object,
1081+
FPDF_PAGE page,
1082+
uint8_t* buffer,
1083+
size_t buflen,
1084+
size_t* out_buflen);
10591085
FPDF_PAGEOBJECT FPDFPageObj_CreateNewPath(float x,
10601086
float y);
10611087
FPDF_PAGEOBJECT FPDFPageObj_CreateNewRect(float x,
@@ -1170,6 +1196,13 @@ FPDFText_SetCharcodes(FPDF_PAGEOBJECT text_object,
11701196
FPDF_BOOL cid);
11711197
FPDF_FONT
11721198
FPDFText_LoadStandardFont(FPDF_DOCUMENT document, FPDF_BYTESTRING font);
1199+
FPDF_FONT
1200+
FPDFText_LoadCidType2Font(FPDF_DOCUMENT document,
1201+
const uint8_t* font_data,
1202+
uint32_t font_data_size,
1203+
FPDF_BYTESTRING to_unicode_cmap,
1204+
const uint8_t* cid_to_gid_map_data,
1205+
uint32_t cid_to_gid_map_data_size);
11731206
FPDF_BOOL
11741207
FPDFTextObj_GetFontSize(FPDF_PAGEOBJECT text, float* size);
11751208
void FPDFFont_Close(FPDF_FONT font);
@@ -1193,8 +1226,12 @@ FPDFTextObj_GetRenderedBitmap(FPDF_DOCUMENT document,
11931226
FPDF_PAGEOBJECT text_object,
11941227
float scale);
11951228
FPDF_FONT FPDFTextObj_GetFont(FPDF_PAGEOBJECT text);
1196-
unsigned long
1197-
FPDFFont_GetFontName(FPDF_FONT font, char* buffer, unsigned long length);
1229+
size_t FPDFFont_GetBaseFontName(FPDF_FONT font,
1230+
char* buffer,
1231+
size_t length);
1232+
size_t FPDFFont_GetFamilyName(FPDF_FONT font,
1233+
char* buffer,
1234+
size_t length);
11981235
FPDF_BOOL FPDFFont_GetFontData(FPDF_FONT font,
11991236
uint8_t* buffer,
12001237
size_t buflen,

0 commit comments

Comments
 (0)