this post was submitted on 25 Aug 2024
66 points (87.5% liked)

Linux

48634 readers
1509 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

My old man has a bunch of .dox stuff saved. He has complicated large files saved that are not supported by any of the FOSS conversion tools. I've tried Libre office, Abi Word, and every command line tool and converter I can find. These are entire book sized files.

I have a W10 machine with Word. Is extracting the .exe and running it with wine feasible without making an epic mess or massive project of this?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 42 points 3 months ago (8 children)

Have you tried the online version of MS Office? I'm not sure, but I think there's a free version. Depending on the file, you might be able to convert it to another format, then use a FOSS tool going forwards.

[–] [email protected] 16 points 3 months ago (1 children)

I was thinking along the same lines. Use the online version available via portal.office.com, and use that to convert everything to something more FOSS-friendly.

Not sure if access is free, though.

[–] [email protected] 5 points 3 months ago

This is what I would recommend as well. Try to convert within Word to an older version or open version that's likely to be compatible with other software. Test one and see if it converts okay.

load more comments (7 replies)
[–] [email protected] 29 points 3 months ago (1 children)

In my experience, OnlyOffice has the best compatibility with M$ Office. You should try it if you haven't

[–] [email protected] 2 points 3 months ago

It's worth a try, though in my experience it can struggle with very large files.

[–] [email protected] 15 points 3 months ago (1 children)
[–] [email protected] 14 points 3 months ago

Not to be confused with OpenOffice.

(LibreOffice forked from OO back then.)

[–] [email protected] 14 points 3 months ago (3 children)

I will agree with the people suggesting "VM and a pirated copy"

Just get like office 2010 and windows 7 off of the web, run it in a VM, convert the files, dump it all.

[–] [email protected] 12 points 3 months ago (1 children)

Instead of pirating anything, you can instead use:

https://github.com/massgravel/Microsoft-Activation-Scripts for activation

https://massgrave.dev/office_msi_links for download of office

[–] [email protected] 10 points 3 months ago

(these count as piracy, but yes, they work well and are reliable)

[–] [email protected] 5 points 3 months ago

Yeah this is the last version of Office that doesn't nag you and your can find keys or buy generated ones off eBay if you feel guilty or worried about malicious cracks.

[–] [email protected] 3 points 3 months ago (1 children)

Doesn't Office 2010 work in Wine?

[–] [email protected] 4 points 3 months ago* (last edited 3 months ago)

I wouldn't know, but since OP is having compatibility issues, I'd try to get as close to native as I could. Eliminate the room-for-error. Hence the VM with actual Windows.

They can just delete the lot after they've converted their files to an opener format. :P

[–] [email protected] 13 points 3 months ago (4 children)

You can try Pandoc and see if that works, Google Docs, Office365, finding an abandonware version of Word and running on Wine...lots of options to work with.

It might be easier to start narrowing down where you need to look if you get the header info from one of these files.

load more comments (4 replies)
[–] [email protected] 12 points 3 months ago* (last edited 3 months ago) (1 children)

Assuming you meant ".docx files", those should open without issue in LibreOffice. As others have said, OnlyOffice is another popular option if format preservation is a goal.

What do you mean when you say the files are "not supported" by the tools you've tried? What, exactly, is happening and what are you trying to accomplish? The end goal wasn't clear to me from your post.

Getting Word to run under wine will require much more effort than copying the Word binary.

[–] [email protected] 4 points 3 months ago (3 children)

Yes .docx.

It appears as though the encoding is missing in such a way that nothing in Linux recognizes the file. The underlying CLI tools don't have a way of converting the file. I tried with Python's docx tool and with iconv. It has to be encoding related because some tools initially load the file with several sets of Asian characters instead of English. However, there is no hexadecimal or sections of entirely binary looking data. Archiving tools do not open up the the file to reveal anything else like a metafile or header. Neo vim shows garbled nonsense throughout. Bat warns of binary. Python won't load the file, nor will Only Office. Libre Office and Abi Word load initially with Asian characters before crashing.

The only option is likely gong to be setting up the W10 machine and converting a bunch of files within it.

Ultimately, my old man thinks he can be an author all of the sudden and is trying to write. He's not very capable of learning. I'm not confident that he can learn to use FOSS to do the same thing he has been doing. This post was just to see if there are options I am not already aware of that might actually work in practice. I can easily do everything I need in FOSS. I can do everything he needs to do. I'm more concerned about becoming his tech support when he forgets how to copy pasta. He already fails to separate the internet hardware connectivity from the web browser and operating system within his mental model of technology.

[–] [email protected] 9 points 3 months ago (1 children)

Sounds like it's actually a .doc file that has been renamed to a .docx for some reason. Real MS Word would probably still open it fine, but open source tools would fall over hard.

You mentioned you can't decompress it either. If it was a real .docx you could rename the extension to .zip and unzip it with any archiver to see the contents. If the archiver complains about the format, then it's not a real docx.

[–] nyan 4 points 3 months ago

If it really is a .doc file and written in an ASCII-compatible encoding as most English-language documents are, opening it in a hex editor (or a non-codepage-aware text editor like the Notepad on a W10 or earlier Windows machine) will show an indecipherable proprietary header followed by the text in the file, possibly with a single space or "junk" character between each letter depending on the exact version of Word and system encoding it was written with. There may be occasional additional stretches of markup junk. At the end, there will be a footer with occasional decipherable text strings like "MSWordDoc" and font names.

If you open a .docx file in such a program, you should get a typical zipfile signature: the letters "PK" at the beginning of the file, followed by a lot of gobbledegook. If you don't get that "PK", it probably isn't a .docx.

(I've looked at a lot of MS file guts, for both curiosity and information extraction purposes.)

[–] [email protected] 6 points 3 months ago* (last edited 3 months ago) (1 children)

Thanks for clarifying, and I can appreciate your overall concerns as I face the same dilemma with my aging relatives.

Just to confirm, have you opened these files in Word yourself (or witnessed them being opened), to verify they are in fact valid documents? if valid, are they meant to be in English?

It wouldn't be the first time I've seen "other" files renamed with an incorrect file extension.

load more comments (1 replies)
[–] [email protected] 3 points 3 months ago* (last edited 3 months ago)

Sure it's not .doc? Earlier .docx were rather more standard compliant than new ones. .doc is the old proprietary MS Word format, while .docx is to the OOXML standard (though with all the proprietary extensions, making the standard useless).

[–] [email protected] 10 points 3 months ago (1 children)

Why do you spell it as "m$ office"?

[–] [email protected] 22 points 3 months ago

Greedy fucks.

[–] [email protected] 10 points 3 months ago

Assuming the latest version of OpenOffice doesn't work for these files...


My next course of action would be using the Win 10 machine with Word, or a VM with Win10 or 11 and the latest version of Word. Use MASGrave to trick M$ into considering it licensed if you need to.

Use a Powershell script to interact with Word through the COM object interface and automate opening Word, opening the file, saving it as a different filetype, and closing. Here's a snippet of Powershell from Reddit for going in the opposite direction (odt to docx) for a single file. I wouldn't try to do this through Linux, just suck it up and use Windows so you don't have an extra layer of mess to deal with.

Going off M$ documentation of the save types enum, I would replace "wdFormatDocumentDefault" in that snippet with wdFormatOpenDocumentText or wdFormatStrictOpenXMLDocument, then test it with a single file to see which gives the output you need.

Getting all the files of the starting type from a folder can be done using Get-ChildItem. Store those in a variable and use a foreach loop over the initial file list.

[–] [email protected] 8 points 3 months ago

I wouldn't even try with wine these days.

Why don't you use the Win10 machine you have, the online version of Microsoft Office (web browser or app), a VM with Windows, or (if it works for your case) Google Docs or OnlyOffice.

[–] [email protected] 7 points 3 months ago

VMWare and archive dot org are your friend

[–] [email protected] 7 points 3 months ago

To be honest, there’s a few good comments linking to scripts and methods here to batch convert them on a windows pc/vm. That’s the best way to go.

To add on to their comments. If you’re just interested in preserving them then maybe printing them to pdf, specifically pdf/a, would be my approach once you got them opened.

[–] [email protected] 5 points 3 months ago (1 children)

I have office 2007 on a winxp VM, I haven't had to use it in a few years, but it is there as a back up

[–] [email protected] 2 points 3 months ago (1 children)
[–] [email protected] 8 points 3 months ago

Long past, but for old files especially, old .doc files it is great as a backup.

It lives in a VM that never has access to the internet, it almost never gets started up.

[–] [email protected] 5 points 3 months ago (1 children)

Honestly it might be worthwhile to just get a month of Microsoft 365 and use the web client. You can upload all of the files to OneDrive and open them in the web version of Word to do what you need. Nothing beats native compatibility in a project of this scope.

load more comments (1 replies)
[–] [email protected] 4 points 3 months ago

Generally, no. M$ office has some pretty invasive DRM, so your best bet to running it on linux is to run it on a windows virtual machine

[–] [email protected] 4 points 3 months ago* (last edited 3 months ago) (2 children)

How old of Docx files are you talking? Something like Office 2010 might run quite well, and your father would have probably had to have used some very weird features for it to be incompatible.

load more comments (2 replies)
[–] [email protected] 3 points 3 months ago

I bought a cheap win11+office 2021 combo on the net and use a VM. Its not the easiest way but it works...

😔

[–] [email protected] 3 points 3 months ago (1 children)
[–] [email protected] 1 points 3 months ago (1 children)

All of the office suites seem to use either Python 3 docx or iconvert under the surface. These tools do not support whatever default encoding m$ is using. It is clearly a font encoding issue, but I won't know what that font is until my back is in good enough shape to setup a desktop at my bedside workstation.

[–] transientpunk 2 points 3 months ago

Why not just use a VM?

[–] [email protected] 3 points 3 months ago

I've had some success with fmstrat/winapps (if I remember the repo correctly) but that might be overkill for your use case

[–] [email protected] 2 points 3 months ago

Try your local library.

[–] [email protected] 2 points 3 months ago

im pretty surs that codeweavers crossover still works for microsoft365. atleast I used it with office365 last year without major issue.

[–] [email protected] 1 points 3 months ago (2 children)

It's not open source but probably has the best compatibility. You can give it a shot.

https://www.freeoffice.com/en/

Needs an account after one week though.

load more comments (2 replies)
[–] [email protected] 1 points 3 months ago

No

You need Windows

load more comments
view more: next ›