@@ -1118,7 +1118,7 @@ def test_append_multiple():
1118
1118
1119
1119
1120
1120
@pytest .mark .samples ()
1121
- def test_set_page_label (pdf_file_path ):
1121
+ def test_set_page_label ():
1122
1122
src = RESOURCE_ROOT / "GeoBase_NHNC1_Data_Model_UML_EN.pdf" # File without labels
1123
1123
reader = PdfReader (src )
1124
1124
@@ -1154,8 +1154,9 @@ def test_set_page_label(pdf_file_path):
1154
1154
writer .set_page_label (11 , 11 , "/r" )
1155
1155
writer .set_page_label (12 , 13 , "/R" )
1156
1156
writer .set_page_label (17 , 18 , "/R" )
1157
- writer .write (pdf_file_path )
1158
- assert PdfReader (pdf_file_path ).page_labels == expected
1157
+ _ , buf = writer .write (BytesIO ())
1158
+ buf .seek (0 )
1159
+ assert PdfReader (buf ).page_labels == expected
1159
1160
1160
1161
writer = PdfWriter () # Same labels, different set order
1161
1162
writer .clone_document_from_reader (reader )
@@ -1165,8 +1166,9 @@ def test_set_page_label(pdf_file_path):
1165
1166
writer .set_page_label (0 , 1 , "/r" )
1166
1167
writer .set_page_label (12 , 13 , "/R" )
1167
1168
writer .set_page_label (11 , 11 , "/r" )
1168
- writer .write (pdf_file_path )
1169
- assert PdfReader (pdf_file_path ).page_labels == expected
1169
+ _ , buf = writer .write (BytesIO ())
1170
+ buf .seek (0 )
1171
+ assert PdfReader (buf ).page_labels == expected
1170
1172
1171
1173
# Tests labels assigned only in the middle
1172
1174
# Tests label assigned to a range already containing labled ranges
@@ -1176,8 +1178,9 @@ def test_set_page_label(pdf_file_path):
1176
1178
writer .set_page_label (3 , 4 , "/a" )
1177
1179
writer .set_page_label (5 , 5 , "/A" )
1178
1180
writer .set_page_label (2 , 6 , "/r" )
1179
- writer .write (pdf_file_path )
1180
- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1181
+ _ , buf = writer .write (BytesIO ())
1182
+ buf .seek (0 )
1183
+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
1181
1184
1182
1185
# Tests labels assigned inside a previously existing range
1183
1186
expected = ["1" , "2" , "i" , "a" , "b" , "A" , "1" , "1" , "2" ]
@@ -1187,8 +1190,9 @@ def test_set_page_label(pdf_file_path):
1187
1190
writer .set_page_label (2 , 6 , "/r" )
1188
1191
writer .set_page_label (3 , 4 , "/a" )
1189
1192
writer .set_page_label (5 , 5 , "/A" )
1190
- writer .write (pdf_file_path )
1191
- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1193
+ _ , buf = writer .write (BytesIO ())
1194
+ buf .seek (0 )
1195
+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
1192
1196
1193
1197
# Tests invalid user input
1194
1198
writer = PdfWriter ()
@@ -1212,7 +1216,6 @@ def test_set_page_label(pdf_file_path):
1212
1216
):
1213
1217
writer .set_page_label (0 , 5 , "/r" , start = - 1 )
1214
1218
1215
- pdf_file_path .unlink ()
1216
1219
1217
1220
src = (
1218
1221
SAMPLE_ROOT / "009-pdflatex-geotopo/GeoTopo.pdf"
@@ -1224,18 +1227,18 @@ def test_set_page_label(pdf_file_path):
1224
1227
writer = PdfWriter ()
1225
1228
writer .clone_document_from_reader (reader )
1226
1229
writer .set_page_label (2 , 3 , "/A" )
1227
- writer .write (pdf_file_path )
1228
- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1230
+ _ , buf = writer .write (BytesIO ())
1231
+ buf .seek (0 )
1232
+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
1229
1233
1230
1234
# Tests replacing existing lables
1231
1235
expected = ["A" , "B" , "1" , "1" , "2" ]
1232
1236
writer = PdfWriter ()
1233
1237
writer .clone_document_from_reader (reader )
1234
1238
writer .set_page_label (0 , 1 , "/A" )
1235
- writer .write (pdf_file_path )
1236
- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1237
-
1238
- pdf_file_path .unlink ()
1239
+ _ , buf = writer .write (BytesIO ())
1240
+ buf .seek (0 )
1241
+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
1239
1242
1240
1243
# Tests prefix and start.
1241
1244
src = RESOURCE_ROOT / "issue-604.pdf" # File without page labels
@@ -1250,7 +1253,7 @@ def test_set_page_label(pdf_file_path):
1250
1253
writer .set_page_label (11 , 21 , "/D" , prefix = "PAP-" )
1251
1254
writer .set_page_label (22 , 30 , "/D" , prefix = "FOLL-" )
1252
1255
writer .set_page_label (31 , 39 , "/D" , prefix = "HURT-" )
1253
- writer .write (pdf_file_path )
1256
+ writer .write (BytesIO () )
1254
1257
1255
1258
1256
1259
@pytest .mark .enable_socket ()
@@ -1452,7 +1455,6 @@ def test_named_dest_page_number():
1452
1455
1453
1456
1454
1457
def test_update_form_fields (tmp_path ):
1455
- write_data_here = tmp_path / "out.pdf"
1456
1458
writer = PdfWriter (clone_from = RESOURCE_ROOT / "FormTestFromOo.pdf" )
1457
1459
writer .update_page_form_field_values (
1458
1460
writer .pages [0 ],
@@ -1476,8 +1478,8 @@ def test_update_form_fields(tmp_path):
1476
1478
auto_regenerate = False ,
1477
1479
)
1478
1480
1479
- writer .write (write_data_here )
1480
- reader = PdfReader (write_data_here )
1481
+ _ , buf = writer .write (BytesIO () )
1482
+ reader = PdfReader (buf )
1481
1483
flds = reader .get_fields ()
1482
1484
assert flds ["CheckBox1" ]["/V" ] == "/Yes"
1483
1485
assert flds ["CheckBox1" ].indirect_reference .get_object ()["/AS" ] == "/Yes"
@@ -1499,8 +1501,6 @@ def test_update_form_fields(tmp_path):
1499
1501
assert all (x in flds ["RadioGroup1" ]["/_States_" ] for x in ["/1" , "/2" , "/3" ])
1500
1502
assert all (x in flds ["Liste1" ]["/_States_" ] for x in ["Liste1" , "Liste2" , "Liste3" ])
1501
1503
1502
- Path (write_data_here ).unlink ()
1503
-
1504
1504
1505
1505
@pytest .mark .enable_socket ()
1506
1506
def test_iss1862 ():
0 commit comments