Aplikacja do generowania dokumentów

0

Witam, potrzebuję wskazania kierunku, gdyż jestem zielony i chcę dopiero zacząć naukę. Chciałbym na początek stworzyć aplikację na androida, w której po uzupełnieniu formularza, można wygenerować dokument w pliku MS word. Od czego zacząć lub w jakim języku najlepiej się do tego zabrać?
Pozdrawiam

1

@ŁukaszCz:

Obawiam się pierwsze projekty (świadomie liczba mnoga) musisz wycelować dużo, dużo niżej.

0

Domyślam się, jednak nawet nie wiem w którym kierunku zacząć, żeby później móc o tym myśleć

4
ŁukaszCz napisał(a):

Od czego zacząć lub w jakim języku najlepiej się do tego zabrać?

Kotlin to wciąż domyślny język dla Androida. Chociaż jest legenda że w kolejnej wersji będzie to Dart i jeśli się w to wierzy to można wziąć framework Flutter

0
ŁukaszCz napisał(a):

Domyślam się, jednak nawet nie wiem w którym kierunku zacząć, żeby później móc o tym myśleć

Twoja historia DWÓCH postów nie wskazuje na kontakt z żadnym językiem, sposób zadania pierwszego pytania jest potwierdzeniem.

Chyba że jednak w czymś już programowałeś, można by "wstępnie" powiedzieć, jakie to dla ciebie by były trudności.
Przy czym android jest jednym z trudniejszych środowisk do pierwszych kroków, a nawet bardzo trudnym.

0

@ZrobieDobrze: a to ile trzeba mieć postów żeby móc tutaj zadać pytanie? Przecież napisałem, że chcę zacząć dopiero, więc Twoje detektywistyczne wywody nie odkryły żadnej tajemnicy.
Jest jakiś level, który trzeba wbić by z kimś tu gadać, bo jak rozumiem to każdy na forum urodził się programistą?

4
ŁukaszCz napisał(a):

Jest jakiś level, który trzeba wbić by z kimś tu gadać

Możliwe...
Ja na szczęście używałem innych for, zanim trafiłem na to, a i tak nie było lekko :]

ŁukaszCz napisał(a):

Chciałbym na początek stworzyć aplikację na androida, w której po uzupełnieniu formularza, można wygenerować dokument w pliku MS word. Od czego zacząć lub w jakim języku najlepiej się do tego zabrać?

Nie wiem jak czy w Wordzie są takie możliwości. Ale w OpenOffice Writer ja bym do tego podszedł od tej strony, że tworzysz sobie dokument i zapisujesz jako *.fodt. Otrzymasz w ten sposób szablon formularza, który będzie uzupełniała Twoja aplikacja.

*.docx z worda to też plik XML, ale jest spakowany zipem, więc Twoja aplikacja musiałaby wypakować plik XML, zmodyfikować go i zapakować z powrotem. Dlatego też polecam *.fodt. Bo pomijasz operacje rozpakowywania i pakowania.

Pola formularza w edytorze (OpenOffice Writer) uzupełniasz własnymi tagami, np.
screenshot-20230915202934.png

Potem Twoja aplikacja na telefon będzie mogła uzupełnić te pola zwykłą funkcją replace zastosowaną na dokumencie.

Bo wewenątrz plik *.fodt jest pisany zwykłym tekstem.
Fragment z "tagiem":

  <office:text>
   <text:sequence-decls>
    <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
    <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
    <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
    <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
    <text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
   </text:sequence-decls>
   <text:p text:style-name="P1">{jakiś_tag}</text:p>
  </office:text>

Ważne
Pola formularza w apce trzeba "escape'ować" przed dopisaniem do dokumentu, żeby nie zepsuć struktury pliku.

Jak w office napiszesz:

{jakiś_tag}
<office></office>

To w pliku będzie:

   <text:p text:style-name="P1">{jakiś_tag}</text:p>
   <text:p text:style-name="P1">&lt;office&gt;&lt;/office&gt;</text:p>

Twoja aplikacja powinna w ten sam sposób traktować tekst, którym będzie zastępować tagi.

3

Nie wiem czy jest sens by to była aplikacja na androida jak to można zrobić jako web aplikacja. Ale odpowiadając na pytanie to można użyć https://github.com/carboneio/carbone . Stawiasz serwer i aplikacja strzelasz do serwera i odpowiadasz wygenerowanym plikiem. Libka bardzo fajnie działa polecam.

1
ŁukaszCz napisał(a):

@ZrobieDobrze: a to ile trzeba mieć postów żeby móc tutaj zadać pytanie? Przecież napisałem, że chcę zacząć dopiero, więc Twoje detektywistyczne wywody nie odkryły żadnej tajemnicy.
Jest jakiś level, który trzeba wbić by z kimś tu gadać, bo jak rozumiem to każdy na forum urodził się programistą?

Każdemu wolno pytać

Typowa w 80% odpowiedź na "jaki język do ... " brzmi "taki, jaki najlepiej znasz" *)
Nie odpowiadasz w stylu "w szkole chcieli mnie nauczyć C++" (skądinąd szkoła ma obowiązek próbować otworzyć oczy na programowanie - nieskutecznie?) albo "zmodyfikowałem stronkę w JavaScript"

Brak pasji do programowania i nagle temat ewidentnie "komercyjny", dający wartość biznesową. To się niemal na pewno nie uda. Kontekst jest podobny do "jakim stylem przepłynąć na Bornholm" przed pierwszymi zajęciami na basenie. Z kimś najbardziej sportowo utalentowanym trzy lata **)- do dziesięciu, ew nigdy.

*) Adroid i dominacja Kotlina + Javy to prawda, wiec wybór trochę mniejszy. Plus android ma bardzo skomplikowane (nie tylko dla pcozątkujacych) przepływy sterowania, znajomość gołego języka w Adroidzie znaczy bardzo, bardzo mało.
**) naturalne pytanie: tylko dlaczego nie pływał wcześniej

1
ŁukaszCz napisał(a):

Witam, potrzebuję wskazania kierunku, gdyż jestem zielony i chcę dopiero zacząć naukę. Chciałbym na początek stworzyć aplikację na androida, w której po uzupełnieniu formularza, można wygenerować dokument w pliku MS word. Od czego zacząć lub w jakim języku najlepiej się do tego zabrać?
Pozdrawiam

Dlaczego akurat chcesz wygenerować dokument w MS Word? Czemu to ma służyć? Jeśli tylko temu, żeby ktoś sobie mógł ściągnąć i odczytać (bez ponownej edycji), to dokument w Word nie jest najlepszym formatem do tego, żeby generować i komuś dawać do ściągania. Lepiej już generować do PDFa, który jest bardziej uniwersalnym formatem.

(nie wiem jak się generuje, poszukałbym gotowej biblioteki, chciałem tylko zwrócić uwagę na ten aspekt, że po co to właściwie robić?).

0

Bierzesz sobie Panie drogi tworzysz templatkę, w której zostawiasz sobie to co chcesz podstawić w konwencji {{ issuingDate }} i interpolujesz sobie to później do wartości z formularza.

  1. Zaczytujesz plik do pamięci i cast na stringa.

  2. Replacujesz swoje placeholdery wartościami z formularza.

  3. Robisz z plikiem dalej co chcesz - czy go do pdfa i mailem do jegomościa czy co innego - wedle uznania.

    Update.
    Nie doczytałem że to Android ale Android to Java więc powinno śmigać. Ja .NETowo pomyślałem 😛

0
rjakubowski napisał(a):

Bierzesz sobie Panie drogi tworzysz templatkę, w której zostawiasz sobie to co chcesz podstawić w konwencji {{ issuingDate }} i interpolujesz sobie to później do wartości z formularza.

  1. Zaczytujesz plik do pamięci i cast na stringa.

  2. Replacujesz swoje placeholdery wartościami z formularza.

  3. Robisz z plikiem dalej co chcesz - czy go do pdfa i mailem do jegomościa czy co innego - wedle uznania.

    Update.
    Nie doczytałem że to Android ale Android to Java więc powinno śmigać. Ja .NETowo pomyślałem 😛

Załóżmy optymistycznie, że OP rozumie co do niego mówisz i da radę.

Skąd mu się ta templatka na adroidzie weźmie, co z robi z PDF-em (nie będę pytał, gdzie sobie wsadzi) ?

1

Flutter plus docx_template. To jest jedyna ltutaj poprawną odpowiedź. :)
Nie ma za co.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.