@@ -1125,96 +1125,6 @@ public NodeRef extractPagesFromPDF(NodeRef targetNodeRef, Map<String, Serializab
1125
1125
return subsetPDFDocument (targetNodeRef , params , pages , false );
1126
1126
}
1127
1127
1128
- private NodeRef subsetPDFDocument (NodeRef targetNodeRef , Map <String , Serializable > params , String pages , boolean delete )
1129
- {
1130
- InputStream is = null ;
1131
- File tempDir = null ;
1132
- ContentWriter writer = null ;
1133
- PdfReader pdfReader = null ;
1134
- NodeRef destinationNode = null ;
1135
-
1136
- try
1137
- {
1138
- ContentReader targetReader = getReader (targetNodeRef );
1139
- is = targetReader .getContentInputStream ();
1140
-
1141
- File alfTempDir = TempFileProvider .getTempDir ();
1142
- tempDir = new File (alfTempDir .getPath () + File .separatorChar + targetNodeRef .getId ());
1143
- tempDir .mkdir ();
1144
-
1145
- Boolean inplace = Boolean .valueOf (String .valueOf (params .get (PARAM_INPLACE )));
1146
-
1147
- String fileName = getFilename (params , targetNodeRef );
1148
-
1149
- File file = new File (tempDir , ffs .getFileInfo (targetNodeRef ).getName ());
1150
-
1151
- pdfReader = new PdfReader (is );
1152
- Document doc = new Document (pdfReader .getPageSizeWithRotation (1 ));
1153
- PdfCopy copy = new PdfCopy (doc , new FileOutputStream (file ));
1154
- doc .open ();
1155
-
1156
- List <Integer > pagelist = parsePageList (pages );
1157
-
1158
- for (int pageNum = 1 ; pageNum <= pdfReader .getNumberOfPages (); pageNum ++)
1159
- {
1160
- if (pagelist .contains (pageNum ) && !delete ) {
1161
- copy .addPage (copy .getImportedPage (pdfReader , pageNum ));
1162
- }
1163
- }
1164
- doc .close ();
1165
-
1166
- destinationNode = createDestinationNode (fileName ,
1167
- (NodeRef )params .get (PARAM_DESTINATION_FOLDER ), targetNodeRef , inplace );
1168
- writer = cs .getWriter (destinationNode , ContentModel .PROP_CONTENT , true );
1169
-
1170
- writer .setEncoding (targetReader .getEncoding ());
1171
- writer .setMimetype (FILE_MIMETYPE );
1172
-
1173
- // Put it in the repository
1174
- writer .putContent (file );
1175
-
1176
- // Clean up
1177
- file .delete ();
1178
-
1179
- }
1180
- catch (IOException e )
1181
- {
1182
- throw new AlfrescoRuntimeException (e .getMessage (), e );
1183
- }
1184
- catch (DocumentException e )
1185
- {
1186
- throw new AlfrescoRuntimeException (e .getMessage (), e );
1187
- }
1188
- catch (Exception e )
1189
- {
1190
- throw new AlfrescoRuntimeException (e .getMessage (), e );
1191
- }
1192
- finally
1193
- {
1194
- if (pdfReader != null )
1195
- {
1196
- pdfReader .close ();
1197
- }
1198
- if (is != null )
1199
- {
1200
- try
1201
- {
1202
- is .close ();
1203
- }
1204
- catch (IOException e )
1205
- {
1206
- throw new AlfrescoRuntimeException (e .getMessage (), e );
1207
- }
1208
- }
1209
-
1210
- if (tempDir != null )
1211
- {
1212
- tempDir .delete ();
1213
- }
1214
- }
1215
- return destinationNode ;
1216
- }
1217
-
1218
1128
@ Override
1219
1129
public NodeRef rotatePDF (NodeRef targetNodeRef , Map <String , Serializable > params )
1220
1130
{
@@ -1311,6 +1221,96 @@ public NodeRef rotatePDF(NodeRef targetNodeRef, Map<String, Serializable> params
1311
1221
return destinationNode ;
1312
1222
}
1313
1223
1224
+ private NodeRef subsetPDFDocument (NodeRef targetNodeRef , Map <String , Serializable > params , String pages , boolean delete )
1225
+ {
1226
+ InputStream is = null ;
1227
+ File tempDir = null ;
1228
+ ContentWriter writer = null ;
1229
+ PdfReader pdfReader = null ;
1230
+ NodeRef destinationNode = null ;
1231
+
1232
+ try
1233
+ {
1234
+ ContentReader targetReader = getReader (targetNodeRef );
1235
+ is = targetReader .getContentInputStream ();
1236
+
1237
+ File alfTempDir = TempFileProvider .getTempDir ();
1238
+ tempDir = new File (alfTempDir .getPath () + File .separatorChar + targetNodeRef .getId ());
1239
+ tempDir .mkdir ();
1240
+
1241
+ Boolean inplace = Boolean .valueOf (String .valueOf (params .get (PARAM_INPLACE )));
1242
+
1243
+ String fileName = getFilename (params , targetNodeRef );
1244
+
1245
+ File file = new File (tempDir , ffs .getFileInfo (targetNodeRef ).getName ());
1246
+
1247
+ pdfReader = new PdfReader (is );
1248
+ Document doc = new Document (pdfReader .getPageSizeWithRotation (1 ));
1249
+ PdfCopy copy = new PdfCopy (doc , new FileOutputStream (file ));
1250
+ doc .open ();
1251
+
1252
+ List <Integer > pagelist = parsePageList (pages );
1253
+
1254
+ for (int pageNum = 1 ; pageNum <= pdfReader .getNumberOfPages (); pageNum ++)
1255
+ {
1256
+ if (pagelist .contains (pageNum ) && !delete ) {
1257
+ copy .addPage (copy .getImportedPage (pdfReader , pageNum ));
1258
+ }
1259
+ }
1260
+ doc .close ();
1261
+
1262
+ destinationNode = createDestinationNode (fileName ,
1263
+ (NodeRef )params .get (PARAM_DESTINATION_FOLDER ), targetNodeRef , inplace );
1264
+ writer = cs .getWriter (destinationNode , ContentModel .PROP_CONTENT , true );
1265
+
1266
+ writer .setEncoding (targetReader .getEncoding ());
1267
+ writer .setMimetype (FILE_MIMETYPE );
1268
+
1269
+ // Put it in the repository
1270
+ writer .putContent (file );
1271
+
1272
+ // Clean up
1273
+ file .delete ();
1274
+
1275
+ }
1276
+ catch (IOException e )
1277
+ {
1278
+ throw new AlfrescoRuntimeException (e .getMessage (), e );
1279
+ }
1280
+ catch (DocumentException e )
1281
+ {
1282
+ throw new AlfrescoRuntimeException (e .getMessage (), e );
1283
+ }
1284
+ catch (Exception e )
1285
+ {
1286
+ throw new AlfrescoRuntimeException (e .getMessage (), e );
1287
+ }
1288
+ finally
1289
+ {
1290
+ if (pdfReader != null )
1291
+ {
1292
+ pdfReader .close ();
1293
+ }
1294
+ if (is != null )
1295
+ {
1296
+ try
1297
+ {
1298
+ is .close ();
1299
+ }
1300
+ catch (IOException e )
1301
+ {
1302
+ throw new AlfrescoRuntimeException (e .getMessage (), e );
1303
+ }
1304
+ }
1305
+
1306
+ if (tempDir != null )
1307
+ {
1308
+ tempDir .delete ();
1309
+ }
1310
+ }
1311
+ return destinationNode ;
1312
+ }
1313
+
1314
1314
private ContentReader getReader (NodeRef nodeRef )
1315
1315
{
1316
1316
// first, make sure the node exists
0 commit comments