あなたのための輸送ステッカーは、この2020を得ました:家から

8801 ワード

You Got This は、非技術的な、しばしば感情的に労働力のスキルの仕事で成功するために必要に焦点を当て、コミュニティカンファレンスシリーズです.月に、彼らは彼らの最初のオンライン会議を行いましたYou Got This From Home . 彼らはこれらの厳しい時期にすべての参加者に少しステッカーの喜びを提供することを決め、彼らの玄関先に到着するには少し驚きを望んだ人のためのサインアップ中にアドレスを収集した.


ココちゃん
シュンクラムチャン

ハッピーメール!📮😍ありがとう
午前10時24分
0
2
このイベントはシャイとケビンによって運営され、シャイはアメリカ全土でステッカーの配布物を扱っていたが、私はヨーロッパとアジアのすべての出荷を扱う人だった.ステッカーの300セットを出荷する私は良い可能性があります(潜在的に)それを解決するためのソリューションをオーバーエンジニアし、ここでどのようにダウンした.

データの消毒


最初のステップはアドレスデータを消毒することでした.これは既に国と地域によってSmartyStreet's API データは次のようになります.
id,full_name,address,country,region
51,The Queen,"Buckingham Palace, London, SW1A 1AA, UK",UK,EU
注意すべき最初のことは、アドレスが(通常)カンマ区切りです.何人かの人々は完全な停留所を使いました(他のものは何も使用しませんでした!)しかし、ほとんどのコンマはアドレスの各行を示す.計画がメールマージを通してこれを置くことになっていたので、最初のことはこれらのコンマを改行で置き換えることでした(私はPythonを使用しました).
import csv
with open('data.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)

    with open('output.csv', 'w', newline='') as savefile:
        writer = csv.DictWriter(savefile, fieldnames=reader.fieldnames)
        writer.writeheader()

        for row in reader:
            row['address'] = row['address'].replace(',', '\n')
            writer.writerow(row)
これはあなたが期待していることを行い、アドレスフィールドの文字を“\n”に置き換えました.

封筒の準備


次のステップは、エンベロープに直接印刷するテンプレートをデザインすることでした.LinuxとOSSがロックしているので、ここでlibreofficeを使います.ケビンは美しいデザインを思いつきました.

Format -> PageスタイルとC 6 ( Kevinのデザインのためのもの)を使ってドキュメントサイズを選択したら、メールマージするデータに対してプレースホルダを挿入します.

あなたはそれらがテキストボックスであると思うかもしれません、しかし、彼らはそうではありません!LibreOfficeはテキストボックスにマージデータをメールできません.ですから、これらはLibreOfficeframes . Insert -> Frame -> Frameを対話的に配置し、テキストボックスのようにフレームをドラッグします.デフォルトでは境界線がありますが、右クリック→プロパティでこれをカスタマイズできます.

完了したら、通常のようにフレーム内のテキストを変更することができます.
LinuxのディストリビューションでデフォルトでインストールされているLibreOfficeを使用している場合は、データベースパッケージ、ベース、インストールされません.aptを入力する必要がありますsudo apt install libreoffice すべての行方不明のコンポーネントを取得します.(ベースをインストールすることもできますが、インストールする必要があります.
また、データベースエンジンベースの必要性が失われる可能性があります(データベースとの対話をしようとするときに、一般的な入力/出力エラーを取得します).これはapt経由でインストール可能です:sudo apt install libreoffice-sdbc-hsqldb .
私たちのCSVをベースにインポートするのは少し奇妙です(直接メールにCSVを使用することはできません).
  • オープンし、新しいデータベースを作成する

  • データベースを「登録する」ことをベースにします(これは他のLibreOfficeアプリケーションに自動的に利用可能になります)、そして、フィニッシュをクリックすることによって、あなたはそれを保存するために

  • これで、データベースが開いているはずです.これで、Calcと一緒にあなたのCSVファイルを開きます

  • 今、すべてのデータを選択し、クリップボードにコピーします.ベースでは、編集に行く-ペーストとメニューが表示されます!

  • 残りはかなり自明です.新しいプライマリキーフィールドを作成する必要があります(ベースは自動インクリメントされます)-私はそれを既存のものを受け入れるように得ることができなかった.
    あなたが戻ってLibreOfficeの作家のテンプレートには、表示を選択することによって-あなたが今作成したデータベースを参照してくださいデータソースを選択することによって:

    列名をドラッグし、その列が表示される場所にドロップします.

    Phewほとんどそこ.

    封筒を印刷する


    LibreOfficeの標準的な印刷対話を使用し、フォームの文字を印刷するかどうかを尋ねるとき、はいを選択します.私はlibreofficeからプリンターに直接印刷を試みました、しかし、私が仕事をしたけれども、それはプロセスの間に墜落しました.
    ただし、代わりにLibreOfficeに個々のファイルにデータをマージすることができます私はPDFファイルを選びました.

    あなたのデータベースがどれくらい大きいかによって、LibreOfficeはしばらく考えます.あなたの目的地フォルダにいくつかの非常に素敵な封筒を見つけるでしょう

    (スポットエラー:私はこのCSVファイルの改行スクリプトを実行しませんでした)
    それから、私は少しのbashスクリプトを書きました.
    for ((i=1;i<=278;i++));
    do
        lp "$i.pdf"
    done
    
    そして、あなたは座って待つ必要があります!HPインクジェットですべての278の封筒を印刷するために、およそ4時間かかりました.次に、あなたのデータベースを使用することができますどのように多くの地域の場合は、スタンプを購入するときに(私たちは、必死のマシンを使用するつもりだったが便利です)を送信する多くのクエリを使用します.
    それから、すべてのそれらの封筒をつくって、正面で非常に高価な特別なステッカー(別名スタンプ)を貼ります!

    私はあなたがあなたのステッカーを楽しむことを望みます、そして、このガイドはmailmergeのためにlibreofficeを使用している他の誰にでも役に立つことを望みます--)
    ヒュー


    ジョディ
    ジョディネビル

    ステッカーに感謝します👨‍🚀🤜
    午後14時18分
    0
    6
    ps .あなたは非常に歓迎です.私はそれをやって多くの楽しみを持っていた!