Previous 1 2 3 4 Next 53 Replies Latest reply: Feb 2, 2010 3:37 PM by wesleybender
randyhatch Level 1 (0 points)
After installing Snow Leopard, Pages will not open a saved document used in Leopard, due to the above error notice. Anyone else have this problem? (with hopefully a fix.) Thanks

Intel IMac Core 2 Duo, Mac OS X (10.6)
  • Level 8 (41,790 points)
    As I already asked in some other threads but it seems that every user want to have its own thread, this behavior resemble to a wrong install process.
    How have you installed the package?
    (1) using the installer
    (2) copying files from an old install or from a backup

    If you copied the files, I guess that you copied the iWork '09 folder of the Applications folder but not the iWork '09 folder containing shared items which must be available as:

    <startupVolume>:Library:Application Support:iWork '09:
    It is supposed to contain the folder "Frameworks" containing these folders:

    Yvan KOENIG (VALLAURIS, France) jeudi 3 septembre 2009 15:34:19
  • randyhatch Level 1 (0 points)
    Thanks for the rebuff on starting a new thread, since I couldn't find a thread that addressed my specific problem. The problem only began after upgrading to Snow Leopard. Pages was working fine under Leopard. The error message points specifically to the SFWordProcessing plugin. All the files you list are in their appropriate places. Still not resolved.
  • randyhatch Level 1 (0 points)
    Problem still not addressed adequately. It has been a long time since I have done a clean install of the OS to my hard drive. It looks as if it is time.
  • Level 8 (41,790 points)
    Before doing a new system install, try to run Pages from an other user account.

    If it works, a system install is not required.
    If it doesn't, it is more complex.
    As I wrote in other threads
    (1) problems where reported with cache files
    (2) problems where reported with a few fonts
    (3) problems where reported with permissions

    Case (1) may require a re-install because at this time, tools able to rebuild caches are not updated for Snow.
    Cases (2) and (3) may be cured without a re-install.

    Of course I assume that you start checking if the problem is specific to Pages or if it strikes other apps like TextEdit for instance.

    Yvan KOENIG (VALLAURIS, France) jeudi 3 septembre 2009 17:38:03
  • randyhatch Level 1 (0 points)
    Thanks for your responses.
    Pages and other programs are working fine. The problem seems to be with a large document - my personal journal - with imbedded photos. Other smaller documents, and starting a new document, work fine. Other user account doesn't solve the problem.
  • Level 8 (41,790 points)
    Try to send it to my mailbox.

    Click my blue name to get my address.

    Yvan KOENIG (VALLAURIS, France) jeudi 3 septembre 2009 19:06:14
  • Level 6 (11,035 points)
    I am having precisely the same problem as RandyHatch, and I too find the other links provided by Yvan to be useless.

    In particular, I am using Pages 3.0.3 (part of iLife '08), which had been installed from the installation CD. After upgrading from 10.5.8 to 10.6, the my large 200-page file would no longer open in Pages. I have tried reinstalling iWork '08 to see if that would help fix the problem. No luck. I tried copying the file to my wife's computer, which has iLife '09 installed, and the document yielded the same error (albeit in a much shorter timespan---instantly rather than within 60s on 3.0.3).

    I would most appreciate a helpful response. This only seems to affect my 274kb text file, not my slightly smaller 250kb text file, leaving me to believe this is not an install issue or other user-caused issue like Yvan seems to imply.
  • Level 8 (41,790 points)
    It seems that you are not uptodate in reading my responses.

    I received Randy's file and for this unique file the problem is clearly an oddity linked to 10.6.

    If your document is readable, at this time, on a 10.5.8 machine and not on a 10.6 one, it's the 2nd example of the problem.

    It would be useful to get the two states of the document.
    May you attach them to a mail and send them to my mailbox.
    Click my bluename to get my address.

    Comparing the two documents, I would be able to insert some chunks of text allowing me to isolate what is the wrongdoer.

    Randy's doc is so huge that I can't do this kind of experiments on it.
    Switching it from one machine to the other one is too boring.

    With 274Kb it would be acceptable.

    Yvan KOENIG (VALLAURIS, France) mardi 8 septembre 2009 12:25:55
  • Level 6 (11,035 points)
    Well, since this forum's admins apparently think an actual solution to a problem is less important than how the message is worded, I'll repost my solution to this problem...

    It turns out the problem is a font issue. Hoefler Text and large files apparently don't mix well, at least in this case. Perhaps the font became corrupted in the 10.6 installation? Changing the document to Times in the few seconds before the crash occurred seemed to fix the issue. Hopefully others having the same problem can use this tip to avoid stress, rather than be lectured in incoherent ramblings which only exacerbate aggravation.
  • randyhatch Level 1 (0 points)
    Unfortunately, the document that I'm trying to use will not open in Snow Leopard at all. Therefore, I am unable to manipulate text or anything else. It is good to know that it is a font issue, but I can't solve my particular problem. I will probably need to return my OS to Leopard and wait for updates to Snow Leopard to fix the bug.
  • fruhulda Level 6 (15,120 points)
    Have you looked at your fonts in the Fontbook? In the File menu you can Validate fonts. If they are OK keep them, the other should be trashed.
  • Level 8 (41,790 points)
    fruhulda wrote:
    Have you looked at your fonts in the Fontbook? In the File menu you can Validate fonts. If they are OK keep them, the other should be trashed.

    The problem is linked to the official Hoefler font.

    At this time I am working on Randy's document.

    When it will be done, I will make systematic tests to determine the limit of document size pushing Pages to crash when the doc uses Hoefler on 10.6.

    During my work upon Randy's doc, I wrote a script allowing me to grab the name of embedded pictures with their native size and their displayed size.
    The grabbed infos may be used to resize the pictures out of Pages reducing drastically the document's size.

    In the given file, replacing huge jpegs by png files of the used size reduce seriously the doc's size with no loss on screen.

    Here is the script.


    -- [SCRIPT listOfPicturesWithSize]
    Save the script as Application (Application Bundle if you want to use it on a MacIntel)
    Store it on the Desktop.

    Drag and drop the icon of a Pages document on the script icon.
    You may also double click the script's icon.

    The script will build a list of embedded picture files.
    The list is available on the desktop in "listof_embeddedpictures.txt"
    Open it then copy its contents at end of the Pages document so that the page numbering will not be modified.
    If you want to put the list at the beginning, insert a page break to create a target blank page before running the script.

    Yvan KOENIG (Vallauris, FRANCE)
    property permitted4 : {"", ""}
    property permitted5 : {"", ""}
    property permitted : permitted5 & permitted4

    property nomDuRapport : "listof_embeddedpictures.txt"
    property typeID : missing value
    property wasFlat : missing value
    property listePages : {}
    property listeImages : {}
    property liste1 : {}


    on run (*
    lignes exécutées si on double clique sur l'icône du script application
    • lines executed if one double click the application script's icon *)

    tell application "System Events"
    if my parleAnglais() then
    set myPrompt to "Choose an iWork’s document"
    set myPrompt to "Choisir un document iWork"
    end if -- parleAnglais

    if 5 > (system attribute "sys2") then (*
    if Mac Os X 10.4.x *)
    set allowed to my permitted
    else (*
    it's Mac OS X 10.5.x with a bug with Choose File *)
    set allowed to {}
    end if -- 5 > (system…
    my commun(choose file with prompt myPrompt of type allowed without invisibles) (* un alias *)
    end tell
    end run


    on open (sel) (*
    sel contient une liste d'alias des élémentsqu'on a déposés sur l'icône du script (la sélection)
    • sel contains a list of aliases of the items dropped on the script's icon (the selection) *)

    my commun(item 1 of sel) (* an alias *)
    end open


    on commun(thePack) (*
    • thePack is an alias *)
    local pFold, pName, path2Index, texteXML
    my nettoie()
    set theTruePack to thePack as text
    tell application "System Events" to tell disk item theTruePack
    set typeID to (type identifier) as text
    set pFold to package folder
    set pName to name
    end tell

    if typeID is not in my permitted then
    if my parleAnglais() then
    error "“" & (docIwork as text) & "” is not a Pages document!"
    error "«" & (docIwork as text) & "» n’est pas un document Pages !"
    end if -- my parleAnglais()
    end if -- typeID

    if pFold then
    set wasFlat to false
    set wasFlat to true
    set thePack to my expandFlat(thePack) (* an alias *)
    log thePack
    end if

    set path2Index to (thePack as text) & "Index.xml"
    set texteXML to my lis_Index(path2Index)
    (* here code to scan the text *)
    set line_feed to ASCII character (10)
    if texteXML contains line_feed then set texteXML to my remplace(texteXML, line_feed, return)
    if texteXML contains return then set texteXML to my remplace(texteXML, return & return, return)
    set texteXML to my supprime(texteXML, tab)

    set balise1 to "<sl:page-group sl:page=" & quote
    set balise2 to "<sf:media"
    set balise3 to "<sf:naturalSize sfa:w=" & quote
    set balise4 to "<sf:data sf:path=" & quote
    set balise5 to quote & "/>"
    set balise7 to "sf:size=" & quote

    if texteXML does not contain balise4 then
    if my parleAnglais() then
    error "The document “" & theTruePack & "” doesn’t embed picture !" number 8001
    error "Le document « " & theTruePack & " » ne contient pas d’image !" number 8001
    end if
    else if texteXML contains balise1 then
    copy "nomImage" & tab & "page #" & tab & "naturalWidth" & tab & "naturalHeight" & tab & "trueWidth" & tab & "trueHeight" & tab & "fileSize (kBytes)" to end of my listeImages
    set my listePages to my decoupe(texteXML, balise1)
    repeat with i from 2 to count of my listePages
    set itmi to item i of my listePages
    set pageNum to item 1 of my decoupe(itmi, quote)

    set my liste1 to my decoupe(itmi, balise2)
    repeat with k from 2 to count of my liste1
    set itmk to item k of my liste1
    if itmk contains balise4 then -- on a une image
    set liste3 to my decoupe(itmk, balise3)
    set liste3 to my decoupe(item 2 of liste3, quote)
    set wNatural to item 1 of liste3
    set hNatural to item 3 of liste3
    set w to item 5 of liste3
    set h to item 7 of liste3
    set liste3 to my decoupe(itmk, balise4)
    set itmk to item 1 of my decoupe(item 2 of liste3, balise5)
    set nomImage to item 1 of my decoupe(itmk, quote)
    set fSize to item -1 of my decoupe(itmk, balise7)
    copy nomImage & tab & pageNum & tab & wNatural & tab & hNatural & tab & w & tab & h & tab & (fSize div 1024) to end of my listeImages
    end if
    set liste3 to {}
    end repeat
    end repeat
    end if -- balise4
    set rapport to (my recolle(my listeImages, return)) as text
    set p2d to path to desktop
    set p2r to (p2d as Unicode text) & nomDuRapport
    tell application "System Events"
    if exists (file p2r) then delete (file p2r)
    make new file at end of p2d with properties {name:nomDuRapport}
    end tell -- "System Events"
    write rapport to (p2r as alias)
    if wasFlat then tell application "System Events" to delete file (thePack as text) -- delete temporary package

    tell application "Numbers" to open file p2r
    on error error_message number error_number
    my nettoie()
    if error_number is not -128 then my affiche(error_message)
    end try
    my nettoie()
    end commun


    on nettoie()
    set typeID to missing value
    set wasFlat to missing value
    set my listePages to {}
    set my listeImages to {}
    set my liste1 to {}
    end nettoie


    on affiche(msg)
    tell application "Finder"
    if my parleAnglais() then
    display dialog msg buttons {"Cancel"} default button 1 giving up after 120
    display dialog msg buttons {"Annuler"} default button 1 giving up after 120
    end if -- parleAnglais()
    end tell -- application
    end affiche


    on lis_Index(cheminXML0)
    local cheminXML0, cheminXMLgz, txtXML
    set cheminXMLgz to cheminXML0 & ".gz"

    tell application "System Events"
    if exists file cheminXMLgz then
    if exists file cheminXML0 then delete file cheminXML0 (*
    un curieux a pu dé-gzipper le fichier
    • someone may have gunzipped the file *)
    my expand(cheminXMLgz)
    set txtXML to my lisIndex_xml(cheminXML0)
    else if exists file cheminXML0 then
    set txtXML to my lisIndex_xml(cheminXML0)
    if my parleAnglais() then
    error "Index.xml missing"
    error "Il n'y a pas de fichier Index.xml"
    end if -- parleAnglais()
    end if -- exists file cheminXMLgz
    end tell -- to System Events
    return txtXML
    end lis_Index


    on expand(f)
    do shell script "gunzip " & quoted form of (POSIX path of (f))
    end expand


    on lisIndex_xml(f)
    local t
    set t to ""
    set t to (read file f)
    end try
    return t
    end lisIndex_xml


    on expandFlat(f) (* f is an alias *)
    local zipExt, qf, d, nn, nz, fz, qfz
    tell application "Finder" to set newF to (duplicate f without replacing) as alias -- create a temporary item which will be changed as package
    set zipExt to ".zip"
    set qf to quoted form of POSIX path of newF
    tell application "System Events"
    tell disk item (newF as text)
    set d to path of container
    set nn to name
    set nz to nn & zipExt
    set fz to d & nz
    if exists disk item fz then set name of disk item fz to nn & my horoDateur(modification date of file fz) & zipExt
    set name to nz
    end tell -- disk item
    make new folder at end of folder d with properties {name:nn}
    end tell -- System Events

    set qfz to quoted form of POSIX path of fz
    do shell script "unzip " & qfz & " -d " & qf & " ; rm " & qfz
    return newF (* path to the temporary package *)
    end expandFlat

    • Build a stamp from the modification date_time
    on horoDateur(dt)
    local annee, mois, jour, lHeure, lesSecondes, lesMinutes
    set annee to year of dt
    set mois to month of dt as number (* existe depuis 10.4 *)
    set jour to day of dt
    set lHeure to time of dt
    set lesSecondes to lHeure mod 60
    set lHeure to round (lHeure div 60)
    set lesMinutes to lHeure mod 60
    set lHeure to round (lHeure div 60)
    return "_" & annee & text -2 thru -1 of ("00" & mois) & text -2 thru -1 of ("00" & jour) & "-" & text -2 thru -1 of ("00" & lHeure) & text -2 thru -1 of ("00" & lesMinutes) & text -2 thru -1 of ("00" & lesSecondes)
    • Here, the stamp is "_YYYYMMDD-hhmmss" *)
    end horoDateur


    on decoupe(t, d)
    local l
    set AppleScript's text item delimiters to d
    set l to text items of t
    set AppleScript's text item delimiters to ""
    return l
    end decoupe


    on recolle(l, d)
    local t
    set AppleScript's text item delimiters to d
    set t to l as text
    set AppleScript's text item delimiters to ""
    return t
    end recolle

    replaces every occurences of d1 by d2 in the text t
    on remplace(t, d1, d2)
    local l
    set AppleScript's text item delimiters to d1
    set l to text items of t
    set AppleScript's text item delimiters to d2
    set t to l as text
    set AppleScript's text item delimiters to ""
    return t
    end remplace

    removes every occurences of d in text t
    on supprime(t, d)
    local l
    set AppleScript's text item delimiters to d
    set l to text items of t
    set AppleScript's text item delimiters to ""
    return (l as text)
    end supprime


    on parleAnglais()
    local z
    tell application "Pages" to set z to localized string "Cancel"
    on error
    set z to "Cancel"
    end try
    return (z is not "Annuler")
    end parleAnglais


    -- [/SCRIPT]

    Yvan KOENIG (VALLAURIS, France) mercredi 9 septembre 2009 19:14:25
Previous 1 2 3 4 Next