Revision: 27304
          http://sourceforge.net/p/bibdesk/svn/27304
Author:   hofman
Date:     2022-03-13 15:50:27 +0000 (Sun, 13 Mar 2022)
Log Message:
-----------
Get attributed string in PDFDocument category

Modified Paths:
--------------
    trunk/bibdesk/BDSKItemPasteboardHelper.m
    trunk/bibdesk/PDFDocument_BDSKExtensions.h
    trunk/bibdesk/PDFDocument_BDSKExtensions.m

Modified: trunk/bibdesk/BDSKItemPasteboardHelper.m
===================================================================
--- trunk/bibdesk/BDSKItemPasteboardHelper.m    2022-03-13 15:29:03 UTC (rev 
27303)
+++ trunk/bibdesk/BDSKItemPasteboardHelper.m    2022-03-13 15:50:27 UTC (rev 
27304)
@@ -40,6 +40,7 @@
 #import "BibItem.h"
 #import "NSArray_BDSKExtensions.h"
 #import "NSPasteboard_BDSKExtensions.h"
+#import "PDFDocument_BDSKExtensions.h"
 #import <Quartz/Quartz.h>
 
 #define TYPES_KEY @"types"
@@ -204,19 +205,8 @@
                     } else if (data) {
                         BDSKASSERT([type isEqualToString:NSPasteboardTypeRTF]);
                         PDFDocument *pdfDoc = [[PDFDocument alloc] 
initWithData:data];
-                        NSUInteger i, count = [pdfDoc pageCount];
-                        NSMutableAttributedString *attrString = 
[[NSMutableAttributedString alloc] init];
-                        [attrString beginEditing];
-                        for (i = 0; i < count; i++) {
-                            if (i > 0)
-                                [[attrString mutableString] 
appendString:@"\n"];
-                            NSAttributedString *pageString = [[pdfDoc 
pageAtIndex:i] attributedString];
-                            if (pageString)
-                                [attrString appendAttributedString:pageString];
-                        }
-                        [attrString endEditing];
+                        NSAttributedString *attrString = [pdfDoc 
attributedString];
                         data = [attrString RTFFromRange:NSMakeRange(0, 
[attrString length]) documentAttributes:[NSDictionary 
dictionaryWithObjectsAndKeys:NSRTFTextDocumentType, 
NSDocumentTypeDocumentAttribute, nil]];
-                        [attrString release];
                         [pdfDoc release];
                     }
                 }

Modified: trunk/bibdesk/PDFDocument_BDSKExtensions.h
===================================================================
--- trunk/bibdesk/PDFDocument_BDSKExtensions.h  2022-03-13 15:29:03 UTC (rev 
27303)
+++ trunk/bibdesk/PDFDocument_BDSKExtensions.h  2022-03-13 15:50:27 UTC (rev 
27304)
@@ -41,9 +41,9 @@
 
 @interface PDFDocument (BDSKExtensions)
 
-+ (NSData *)PDFDataWithPostScriptData:(NSData *)psData;
+- (NSAttributedString *)attributedString;
 
-- (id)initWithPostScriptData:(NSData *)data;
-- (id)initWithPostScriptURL:(NSURL *)fileURL;
+@end
 
+@interface BDSKPDFDocument : PDFDocument
 @end

Modified: trunk/bibdesk/PDFDocument_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/PDFDocument_BDSKExtensions.m  2022-03-13 15:29:03 UTC (rev 
27303)
+++ trunk/bibdesk/PDFDocument_BDSKExtensions.m  2022-03-13 15:50:27 UTC (rev 
27304)
@@ -96,5 +96,20 @@
     return [self initWithPostScriptData:[NSData 
dataWithContentsOfURL:fileURL]];
 }
 
-    
+- (NSAttributedString *)attributedString;
+{
+    NSUInteger i, count = [self pageCount];
+    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] 
init];
+    [attrString beginEditing];
+    for (i = 0; i < count; i++) {
+        if (i > 0)
+            [[attrString mutableString] appendString:@"\n"];
+        NSAttributedString *pageString = [[self pageAtIndex:i] 
attributedString];
+        if (pageString)
+            [attrString appendAttributedString:pageString];
+    }
+    [attrString endEditing];
+    return [attrString autorelease];
+}
+
 @end

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
Bibdesk-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to