|
@@ -102,8 +102,19 @@
|
|
|
CGContextTranslateCTM(context, xTransform, yTransform);
|
|
|
CGContextScaleCTM(context, ratio, ratio);
|
|
|
|
|
|
+ NSImage *image = [NSImage imageNamed:@"KMImageNameWatermark"];
|
|
|
if (@available(macOS 10.12, *)) {
|
|
|
[page drawWithBox:kPDFDisplayBoxCropBox toContext:context];
|
|
|
+
|
|
|
+// [image drawInRect:NSMakeRect(10, 350, 100, 30) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
|
|
|
+ NSData *data = [image TIFFRepresentation];
|
|
|
+ CGImageRef imageRef;
|
|
|
+ if (data) {
|
|
|
+ CGImageSourceRef imageSource = CGImageSourceCreateWithData((CFDataRef)data, NULL);
|
|
|
+ imageRef = CGImageSourceCreateImageAtIndex(imageSource, 0, NULL);
|
|
|
+
|
|
|
+ CGContextDrawImage(context, CGRectMake(0, pageSize.height-20, 72, 20), imageRef);
|
|
|
+ }
|
|
|
[page transformContext:context forBox:kPDFDisplayBoxCropBox];
|
|
|
} else {
|
|
|
[NSGraphicsContext saveGraphicsState];
|
|
@@ -701,15 +712,15 @@ static KMPDFEditAppendWindow *windowController = nil;
|
|
|
- (void)handerReDraw
|
|
|
{
|
|
|
//如果选择的是原始尺寸,不处理
|
|
|
- KMImageTitleButton *originalSizeButton = self.originalSizeButton.subviews.lastObject;
|
|
|
- if (originalSizeButton.state == NSControlStateValueOn) {
|
|
|
+// KMImageTitleButton *originalSizeButton = self.originalSizeButton.subviews.lastObject;
|
|
|
+// if (originalSizeButton.state == NSControlStateValueOn) {
|
|
|
|
|
|
- }else{
|
|
|
+// }else{
|
|
|
//重新选择了界面尺寸,那么就要重绘
|
|
|
- if (self.newPageSize.width < 0) {
|
|
|
- NSBeep();
|
|
|
- return;
|
|
|
- }else{
|
|
|
+// if (self.newPageSize.width < 0) {
|
|
|
+// NSBeep();
|
|
|
+// return;
|
|
|
+// }else{
|
|
|
NSMutableArray *pagesArray = [NSMutableArray array];
|
|
|
|
|
|
NSInteger pageCount = self.PDFDocument.pageCount;
|
|
@@ -719,10 +730,18 @@ static KMPDFEditAppendWindow *windowController = nil;
|
|
|
}
|
|
|
|
|
|
for (NSInteger i = 0; i < pageCount; i ++) {
|
|
|
+ PDFPage *oPage = pagesArray[i];
|
|
|
+ NSRect pageBounds = [oPage boundsForBox:kPDFDisplayBoxCropBox];
|
|
|
KMAppendPDFPage *page = [[KMAppendPDFPage alloc] init];
|
|
|
- [page setBounds:NSMakeRect(0, 0, self.newPageSize.width, self.newPageSize.height) forBox:kPDFDisplayBoxMediaBox];
|
|
|
- page.drawingPage = pagesArray[i];
|
|
|
+ [page setBounds:NSMakeRect(0, 0, pageBounds.size.width, pageBounds.size.height) forBox:kPDFDisplayBoxMediaBox];
|
|
|
+ page.drawingPage = oPage;
|
|
|
// [self.PDFDocument insertPageObject:page atIndex:i];
|
|
|
+
|
|
|
+ PDFAnnotationLink *linkA = [[PDFAnnotationLink alloc] init];
|
|
|
+ linkA.bounds = NSMakeRect(0, pageBounds.size.height-20, 72, 20);
|
|
|
+ linkA.URL = [NSURL URLWithString:@"https://www.pdfreaderpro.com/store"];
|
|
|
+ [page addAnnotation:linkA];
|
|
|
+
|
|
|
[self.PDFDocument insertPage:page atIndex:i];
|
|
|
}
|
|
|
//如果是自定义大小,删除所有的outline,因为合并出来的outline是无效的
|
|
@@ -737,8 +756,8 @@ static KMPDFEditAppendWindow *windowController = nil;
|
|
|
[deleteOutline removeFromParent];
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
- (BOOL)hasOpenFiles {
|
|
@@ -1193,7 +1212,7 @@ static KMPDFEditAppendWindow *windowController = nil;
|
|
|
}
|
|
|
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
-// [self handerReDraw];
|
|
|
+ [self handerReDraw];
|
|
|
|
|
|
KMSavePanelAccessoryController *savePanelAccessoryViewController = [[KMSavePanelAccessoryController alloc] init];
|
|
|
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
|
@@ -1280,7 +1299,7 @@ static KMPDFEditAppendWindow *windowController = nil;
|
|
|
}
|
|
|
}
|
|
|
if (_isSuccessfully) {
|
|
|
-// [self handerReDraw];
|
|
|
+ [self handerReDraw];
|
|
|
KMSavePanelAccessoryController *savePanelAccessoryViewController = [[KMSavePanelAccessoryController alloc] init];
|
|
|
NSSavePanel *savePanel = [NSSavePanel savePanel];
|
|
|
savePanel.nameFieldStringValue = fileName;
|