অ্যাপলস্ক্রিপ্ট - স্যান্ডবক্স অনুমতিগুলির কারণে PDF এ পৃষ্ঠাগুলি রপ্তানি ব্যর্থ হয়


4

আমি পিডিএফ নির্বাচিত পৃষ্ঠা নথি রপ্তানি করতে একটি অটোমেটর ওয়ার্কফ্লো তৈরি করার চেষ্টা করছি। এ পর্যন্ত, সবকিছুই ভাল যায়, চূড়ান্ত রপ্তানি পদক্ষেপ ছাড়া।

on run {input, parameters}
    repeat with _document in input

        tell application "Finder"
            set _directory to get container of file _document

            set _documentName to name of _document
            if _documentName ends with ".pages" then ¬
                set _documentName to text 1 thru -7 of _documentName

            set _PDFName to _documentName & ".pdf"
            set _incrementIndex to 1
            repeat until not (exists file _PDFName of _directory)
                set _PDFName to ¬
                    _documentName & "-" & (_incrementIndex as string) & ".pdf"
                set _incrementIndex to _incrementIndex + 1
            end repeat

            set _location to (_directory as string) & _PDFName
        end tell

        --set _location to (POSIX file of _location)

        tell application "Pages"

            activate
            open _document

            with timeout of 1200 seconds
                export front document to file _location as PDF
            end timeout

            close front document

        end tell

    end repeat
    return input
end run

এটি আমাকে একটি স্যান্ডবক্স অনুমতি ত্রুটি দেয়।

error   17:49:38.117966 +0100   sandboxd    SandboxViolation: Pages(3846) deny file-write-create /Users/brunoscheele/Desktop/Test.pdf
Violation:       deny file-write-create 

এটা পড়ার পরে এখানে আমি এটা পরিবর্তন করে এই ঠিক করতে পারে মত লাগছিল _location একটি POSIX file

তাই আমি যোগ করা হয়েছে;

--set _location to (POSIX file _location)

যাইহোক, তারপর যে আমাকে ত্রুটি দেয়:

পৃষ্ঠাগুলি একটি ত্রুটি পেয়েছে: "MacOS: ব্যবহারকারীরা: ব্রুনোচেলে: ডেস্কটপ: Test.pdf" ফাইল URL হিসাবে ব্যাখ্যা করা যায় নি।

ব্যবহার export front document to (POSIX file _location) as PDF আমাকে একই ত্রুটি দেয়।

কেউ কিভাবে সেট করতে জানেন _location সঠিকভাবে, তাই আপনি অনুমতি বিষয় মধ্যে চালানো না?


আপনার প্রশ্নের ম্যাকোএস সংস্করণ অন্তর্ভুক্ত করুন।
Chris Page

@ChrisPage সর্বশেষ, সবসময়। কিন্তু চিমিং করার জন্য ধন্যবাদ! এবং ইতিমধ্যে একটি উত্তর ছিল, নিচে এটি চেক করুন।
SpacyRicochet

উত্তর:


1

আপনার রপ্তানি পদক্ষেপের আগে এই লাইন যোগ করার চেষ্টা করুন:

open for access file _location

আমি অনুমান করছি আপনি ম্যাকোস সিয়েরা ব্যবহার করছেন। এটি একটি পরিচিত সমস্যা। আমার রপ্তানি শুরু হওয়ার আগে আমি কেবল উপরের কোড ব্যবহার করে আমার কোড কাজ করতে পারতাম। আপনি একটি ব্লক ব্লক ভিতরে যে লাইন রাখা না নিশ্চিত করুন।


1

আপনি খুব ঘনিষ্ঠ। এই মত দেখতে আপনার রপ্তানি লাইন সম্পাদনা করুন:

export front document to file _location as PDF

এটি "ফাইল" শব্দটি যা আপনি অনুপস্থিত ছিলেন।

দ্রষ্টব্য: আমি আবার স্ক্রিপ্টটি চেষ্টা করেছি এবং এটি "কাজ" শব্দটির সাথেও কাজ করেনি। যাইহোক, পরীক্ষা করার সময় আমি দেখলাম যে আমি এই লাইনটি পরিবর্তন করেছি:

set _location to (_directory as string) & _PDFName

থেকে

set _location to (_directory as string) 

তারপর স্ক্রিপ্ট অবশ্যই ত্রুটি হবে। কিন্তু তারপর, যদি আমি পরিবর্তনটি অদলবদল করি, তাই লাইনটি আবার এই রকম লাগছিল:

set _location to (_directory as string) & _PDFName

স্ক্রিপ্ট কাজ শুরু! আমি পৃষ্ঠা 6.0.5, ম্যাকোস 10.12.2 ব্যবহার করছি।

আমি এই আচরণ কারণ কি না বলতে পারেন।


উত্তর করার জন্য ধন্যবাদ! দুঃখজনকভাবে, যে আসলে অনুমতি অনুমতি দেয় বর্তমান অনুমতি ত্রুটি। আমি যা স্ক্রিপ্টটি মূলত পেস্ট করেছি তা কয়েকটি পরীক্ষার পরে ছিল, তাই আমি এটিকে ভুলভাবে বাদ দিয়েছিলাম। আপডেট মূল দেখুন। মনে হচ্ছে এটি একটি নতুন ত্রুটি, এই টুইটটি বিবেচনা করে; twitter.com/MACAUTOMATION/status/810997383672655872 । অন্য কোন অন্তর্দৃষ্টি?
SpacyRicochet

আমি কিভাবে স্ক্রিপ্ট কাজ করে দেখানোর জন্য আমার উত্তর সম্পাদনা করেছি। হয়তো এটা আপনার জন্য একই ভাবে কাজ করবে।
Christian Boyce

ওএস এক্স 10.2.2 এবং 10.2.3 উভয় ক্ষেত্রে "একটি ফাইল ইউআরএল হিসাবে ব্যাখ্যা করা যায় নি"
ina

0

আমি যে স্ক্রিপ্টে কাজ করছিলাম তার সাথে আমারও অনুরূপ সমস্যা ছিল। এটা প্রকৃতপক্ষে অনুমতি সম্পর্কিত বলে মনে হচ্ছে না। পৃষ্ঠাটি ফাইল প্যাকেজের ভিতরে পিডিএফ তৈরি করে আমি যেভাবে রাজি হলাম। সুতরাং, যদি আপনার পেজ ফাইল এ থাকে:

Macintosh HD:Users:Admin:Desktop:myfile.pages

... তারপর আপনার পিডিএফ তৈরি করুন:

Macintosh HD:Users:Admin:Desktop:myfile.pages:myfile.pdf

কোডটির একটি কোড নমুনা আছে যেখানে আমি এই সমস্যাটি চালাচ্ছি এবং আমি এখানে কীভাবে সমাধান করেছি তার একটি নমুনা:

https://www.ghostotter.com/using-automator-convert-pages-pdf/

আশা করি এইটি কাজ করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.