1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- //
- // KMTools_OC.m
- // PDF Master
- //
- // Created by tangchao on 2023/3/27.
- //
- #import "KMTools_OC.h"
- #import <AppKit/AppKit.h>
- @implementation KMTools_OC
- + (BOOL)isDefaultRoleHandlerForContentType:(NSString*)fileExtension {
- NSString *app = (NSString*)CFBridgingRelease(LSCopyDefaultRoleHandlerForContentType((CFStringRef)CFBridgingRetain([self UTIforFileExtension:fileExtension]),
- kLSRolesAll));
- if ([app isEqualToString:[[NSBundle mainBundle] bundleIdentifier]]) {
- return YES;
- }
- return NO;
- }
- + (BOOL)setMyselfAsDefaultApplicationForFileExtension:(NSString *) fileExtension {
- OSStatus returnStatus = LSSetDefaultRoleHandlerForContentType ((CFStringRef)CFBridgingRetain([self UTIforFileExtension:fileExtension]),
- kLSRolesAll,
- (CFStringRef) CFBridgingRetain([[NSBundle mainBundle] bundleIdentifier]));
- if (returnStatus != 0) {
- return NO;
- }
- return YES;
- }
- + (BOOL) setPreviewAsDefaultApplicationForFileExtension:(NSString *) fileExtension {
- OSStatus returnStatus = LSSetDefaultRoleHandlerForContentType ((CFStringRef)CFBridgingRetain([self UTIforFileExtension:fileExtension]),
- kLSRolesAll,
- (CFStringRef)@"com.apple.Preview");
- if (returnStatus != 0) {
- return NO;
- }
- return YES;
- }
- #pragma mark --SetDefaultRoleHandlerForContentType
- + (NSString *)UTIforFileExtension:(NSString *) extension {
- NSString * UTIString = (NSString *)CFBridgingRelease(UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,
- (CFStringRef)CFBridgingRetain(extension),
- NULL));
-
- return UTIString;
- }
- @end
- @implementation KMPageSizeTool
- + (NSString *)conversionWithUnit:(NSString *)unit value:(CGFloat)value
- {
- CGFloat f = value;
- if ([unit isEqualToString:@"cm"]) {
- f = value/10.0;
- } else if([unit isEqualToString:@"in"]){
- f = value/25.4;
- } else {
- f = value;
- }
- if (fmodf(f, 1)==0) {//如果有一位小数点
- return [NSString stringWithFormat:@"%.0f",f];
- } else if (fmodf(value*10, 1)==0) {//如果有两位小数点
- return [NSString stringWithFormat:@"%.1f",f];
- } else {
- return [NSString stringWithFormat:@"%.2f",f];
- }
- }
- @end
|