Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Hoe OpenXML document aanpassen door XML aan te passen?

Pagina: 1
Acties:

  • van.der.schulting
  • Registratie: Juli 2002
  • Laatst online: 09-08-2024
De titel zegt het eigenlijk al, maar ik zal het kort nader toelichten.

Wat ik wil is middels een Ruby on Rails applicatie een docx document aanpassen. Dit lukt mij wel, maar niet helemaal zoals ik het zou willen.
Wat ik doe is het volgende:
1. Ik hernoem de docx naar zip en unzip het document.
2. Ik pas de XML-files en vervang eventueel images.
3. Ik zip de bestanden opnieuw en hernoem het bestand naar docx en klaar ben ik.

Even kort een toelichting op de omgeving die ik gebruik:
De docx documenten worden na aanpassen door eindgebruikers geopend en verder aangepast in MS Word 2010. De Ruby on Rails applicatie draait op een Linux server, reden hiervoor is dat Ruby eigenlijk niet geschikt is om op Windows te draaien. Als ik een .NET omgeving had, was mijn probleem waarschijnlijk vrij makkelijk opgelost mbv Sharepoint Server o.i.d., maar ik ben nu eenmaal gebonden aan mijn Ruby on Rails applicatie. Mono is misschien nog een idee, maar wat ik erover vind op Google lijkt het ook niet echt makkelijk om een docx-document aan te passen via Mono. Simpelweg het docx-document aan te passen door Ruby de XML te laten aanpassen lijkt mij het meest praktisch.

Mijn probleem is dat ik alleen een docx-document kan aanpassen. Het lukt mij niet om bijvoorbeeld images of tabellen of teksten toe te voegen. Alleen images, tabellen en teksten wijzigen lukt mij.
Nu los ik het op door in Word een document aan te maken met dummy teksten, dummy plaatjes etc. en deze vervolgens aan te passen. Dit werkt wel, maar is erg omslachtig.

Volgens mij is mijn probleem dat ik de OpenXML specificatie niet ken, maar om die 'nou even uit je hoofd te leren' lijkt mij ook niet de meest pragmatische oplossing. Volgens mij is die specificatie zo groot...

Wie kan mij uitleggen of weet een tutorial oid om makkelijk teksten, plaatjes en andere objecten toe te voegen aan een docx document zonder daarbij gebruik te hoeven maken van .NET (of Mono)? Dus eigenlijk door gewoon de XML aan te passen ;)

[ Voor 8% gewijzigd door van.der.schulting op 06-11-2011 16:55 ]


  • van.der.schulting
  • Registratie: Juli 2002
  • Laatst online: 09-08-2024
Niemand die me kan helpen?

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 23:24

The Eagle

I wear my sunglasses at night

Voor zover ik weet is XML gewoon plain text. Dus als je weet hoe bijvoorbeeld een plaatje in een document gezet wordt, kun je dat dmv code gewoon in je document zetten. Ik zou zeggen: probeer het gewoon. Maak een docx met een alleen twee simpele JPG's er in. Kijk hoe dat ik het document verankerd zit, en probeer dmv code een 3e toe te voegen. Daarom moet je basis ook 2 jpg's zijn; dan zie je tenminste hoe dat opvolgend gedaan wordt :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • van.der.schulting
  • Registratie: Juli 2002
  • Laatst online: 09-08-2024
Dit heb ik al geprobeerd, maar ik kom er eigenlijk niet uit. Vandaar mijn vraag of iemand een goede tutorial weet om zelf OpenXML documenten te maken....

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

De volledige spec kan je natuurlijk ook vinden op iso.org (maar: MS <> ISO, en ik heb nooit gesnapt dat ISO geld kan vragen voor dergelijke documenten...)

Wikipedia: Office Open XML file formats geeft een hoog-niveau overzicht. En als je niet de hele spec wil uitzoeken (en niet een editor wil gebruiken, handmatig of via de API's ervan) dan is "trackchanges" inderdaad misschien wel het makkelijkste. Maar bijv. [google=docx file format _rels/.rel] (om een willekeurige relevante string te pakken) levert diverse hits op die je langs kunt lopen. Bijvoorbeeld MSDN: How to: Manipulate Office Open XML Formats Documents
Laat ons als je er uit bent even weten wat een goede tutorial bleek te zijn :)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 01-11 22:03

leuk_he

1. Controleer de kabel!

D emethode van eagle is de enige als je het hier moet vragen.

De spec is zo associaal groot, dat kun je echt vergeten met een redelijke hoeveelheid code.

Wat misschien ook een optie is een editor die ondersteund wordt op je web platform te editen met de macro-taal.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.

Pagina: 1